Difference between revisions of "Peerd.c"
m |
m |
||
| Line 22: | Line 22: | ||
// Store the command-line args in the listSpace hash, eg char *name = *hash("name") | // Store the command-line args in the listSpace hash, eg char *name = *hash("name") | ||
printf("argc=%d\n",argc); | printf("argc=%d\n",argc); | ||
| + | int l; | ||
while (argc-->2) { | while (argc-->2) { | ||
char **arg = split('=',argv[argc]); | char **arg = split('=',argv[argc]); | ||
| − | + | *hash(*arg) = strncpy(malloc(l=strlen(arg[1])+1),arg[1],l); | |
| − | *hash(*arg) = strncpy(malloc(l),arg[1],l); | ||
printf("\t*hash(\"%s\")=\"%s\"\n",arg[0],arg[1]); | printf("\t*hash(\"%s\")=\"%s\"\n",arg[0],arg[1]); | ||
free(arg); | free(arg); | ||
} | } | ||
| + | |||
| + | // Make a global peer name and port number | ||
| + | char *peer = strncpy(malloc(l=strlen(argv[1])+1),argv[1],l); | ||
| + | int port = *hash("port"); | ||
// Set name as seen in ps list | // Set name as seen in ps list | ||
Revision as of 07:05, 22 July 2006
// This article and all its includes are licenced under LGPL // GPL: http://www.gnu.org/copyleft/lesser.html // SRC: http://www.organicdesign.co.nz/husk.c
- include <unistd.h>
- include <stdlib.h>
- include <stdio.h>
- include <string.h>
int main(int argc, char **argv) {
#include "util.c" // General utils, file,log,string etc
#ifdef WINDOWS // Set up as a daemon or service #include "servicate.c" #else #include "daemonise.c" #endif
#include "listSpace.c" // listSpace and some C-specific extras: hash, trie, linked-list
// Store the command-line args in the listSpace hash, eg char *name = *hash("name") printf("argc=%d\n",argc); int l; while (argc-->2) { char **arg = split('=',argv[argc]); *hash(*arg) = strncpy(malloc(l=strlen(arg[1])+1),arg[1],l); printf("\t*hash(\"%s\")=\"%s\"\n",arg[0],arg[1]); free(arg); }
// Make a global peer name and port number char *peer = strncpy(malloc(l=strlen(argv[1])+1),argv[1],l); int port = *hash("port");
// Set name as seen in ps list int i; char *tmp = *argv; for (i=0; i<30; i++) tmp[i] = 65+i; sprintf(*argv,"peerd: %s (http%d)",peer,port); printf("argv[0] = \"%s\"\n",*argv);
printf("postargs\n"); #include "nodeSpace.c" // NodeSpace function declarations and initialisation #include "serialise.c" // Nodal-to-text and visa-versa #include "interface.c" // Layer model (currently bitmap/imagemap-based) #include "nodalHusk.c" // Build initial nodal environment #include "server.c" // Set up listening socket and declare serverIterate
printf("port=%s\n",*hash("port")); printf("fredie=%s\n",*hash("fred")); logAdd("\nEntering nodal reduction...\n"); while(nodeReduce(this=ROOT));
free(space);
}



