- while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
- extract_token(cmpa0, buf, 0, '|', sizeof cmpa0);
- extract_token(cmpa1, buf, 1, '|', sizeof cmpa1);
- extract_token(cmpb0, line, 0, '|', sizeof cmpb0);
- extract_token(cmpb1, line, 1, '|', sizeof cmpb1);
- if ( (strcasecmp(cmpa0, cmpb0))
- || (strcasecmp(cmpa1, cmpb1)) ) {
- fprintf(fp, "%s\n", buf);
+ Done = 0;
+ extract_token(cmpb0, line, 0, '|', sizeof cmpb0);
+ extract_token(cmpb1, line, 1, '|', sizeof cmpb1);
+ while (!Done && StrBuf_ServGetln(Line)>=0) {
+ if ( (StrLength(Line)==3) &&
+ !strcmp(ChrPtr(Line), "000"))
+ {
+ Done = 1;
+ }
+ else
+ {
+ extract_token(cmpa0, ChrPtr(Line), 0, '|', sizeof cmpa0);
+ extract_token(cmpa1, ChrPtr(Line), 1, '|', sizeof cmpa1);
+ if ( (strcasecmp(cmpa0, cmpb0))
+ || (strcasecmp(cmpa1, cmpb1)) ) {
+ StrBufAppendBufPlain(Line, HKEY("\n"), 0);
+ fwrite(SKEY(Line), 1, fp);
+ }