1
0
mirror of https://github.com/bgp/bgpq4.git synced 2024-05-11 05:55:05 +00:00

back to fri

This commit is contained in:
Alexandre Snarskii
2015-07-10 16:57:46 +03:00
parent 81cc58e211
commit 1a32e3f47b

View File

@@ -356,6 +356,13 @@ bgpq_pipeline(struct bgpq_expander* b, FILE* f,
exit(1); exit(1);
}; };
ret=fflush(f);
if(ret) {
sx_report(SX_FATAL, "fflush(%i) error: %s\n", fileno(f),
strerror(errno));
exit(1);
};
strlcpy(bp->request,request,sizeof(bp->request)); strlcpy(bp->request,request,sizeof(bp->request));
bp->callback=callback; bp->callback=callback;
bp->udata=udata; bp->udata=udata;
@@ -380,6 +387,8 @@ bgpq_pipeline_dequeue(FILE* f, struct bgpq_expander* b)
char request[128]; char request[128];
struct bgpq_prequest* pipe; struct bgpq_prequest* pipe;
memset(request,0,sizeof(request)); memset(request,0,sizeof(request));
SX_DEBUG(debug_expander>2, "waiting for answer to %s",
b->firstpipe->request);
if(!fgets(request,sizeof(request),f)) { if(!fgets(request,sizeof(request),f)) {
if(ferror(f)) { if(ferror(f)) {
sx_report(SX_FATAL,"Error reading data from IRRd: %s (dequeue)" sx_report(SX_FATAL,"Error reading data from IRRd: %s (dequeue)"
@@ -393,7 +402,7 @@ bgpq_pipeline_dequeue(FILE* f, struct bgpq_expander* b)
if(request[0]=='A') { if(request[0]=='A') {
char* eon, *c; char* eon, *c;
unsigned long togot=strtoul(request+1,&eon,10); unsigned long togot=strtoul(request+1,&eon,10);
char recvbuffer[togot+2]; char* recvbuffer=malloc(togot+2);
memset(recvbuffer,0,togot+2); memset(recvbuffer,0,togot+2);
if(eon && *eon!='\n') { if(eon && *eon!='\n') {
@@ -433,6 +442,7 @@ bgpq_pipeline_dequeue(FILE* f, struct bgpq_expander* b)
}; };
c+=spn+1; c+=spn+1;
}; };
free(recvbuffer);
} else if(request[0]=='C') { } else if(request[0]=='C') {
/* No data */ /* No data */
} else if(request[0]=='D') { } else if(request[0]=='D') {