X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/d3a102c4369f6b071040865063a7620261d74a6d..333c4e3ea4fc5bcf79d4e4b39780ce5c7e8fbb4b:/src/setup.c diff --git a/src/setup.c b/src/setup.c index 21aded0..64949e1 100644 --- a/src/setup.c +++ b/src/setup.c @@ -426,7 +426,7 @@ static void readconfiggeneric(adns_state ads, const char *filename, ccip++); if (!ccip->name) { adns__diag(ads,-1,0,"%s:%d: unknown configuration directive `%.*s'", - filename,lno,q-p,p); + filename,lno,(int)(q-p),p); continue; } while (ctype_whitespace(*q)) q++; @@ -509,6 +509,7 @@ int adns__setnonblock(adns_state ads, int fd) { static int init_begin(adns_state *ads_r, adns_initflags flags, adns_logcallbackfn *logfn, void *logfndata) { adns_state ads; + pid_t pid; ads= malloc(sizeof(*ads)); if (!ads) return errno; @@ -532,6 +533,11 @@ static int init_begin(adns_state *ads_r, adns_initflags flags, timerclear(&ads->tcptimeout); ads->searchlist= 0; + pid= getpid(); + ads->rand48xsubi[0]= pid; + ads->rand48xsubi[1]= (unsigned long)pid >> 16; + ads->rand48xsubi[2]= pid ^ ((unsigned long)pid >> 16); + *ads_r= ads; return 0; }