#include <time.h>
#include <stdlib.h>
#include <string.h>
+#include <errno.h>
#include "err_util.h"
void qword_add(char **bpp, int *lp, char *str)
*lp -= len;
}
+void qword_adduint(char **bpp, int *lp, unsigned int n)
+{
+ int len;
+
+ len = snprintf(*bpp, *lp, "%u ", n);
+ if (len > *lp)
+ len = *lp;
+ *bpp += len;
+ *lp -= len;
+}
+
void qword_addeol(char **bpp, int *lp)
{
if (*lp <= 0)
printerr(2, "%d ", num);
}
-void qword_eol(FILE *f)
+int qword_eol(FILE *f)
{
+ int err;
fprintf(f,"\n");
- fflush(f);
+ err = fflush(f);
printerr(2, "\n");
+ return err;
}
}
len = read(fd, *buf, *lenp);
if (len <= 0) {
- printerr(2, "read error in readline: %d\n", len);
+ printerr(0, "readline: read error: len %d errno %d (%s)\n",
+ len, errno, strerror(errno));
return 0;
}
while ((*buf)[len-1] != '\n') {
*buf = new;
nl = read(fd, *buf +len, *lenp - len);
if (nl <= 0 ) {
- printerr(2, "read error in readline: %d\n", nl);
+ printerr(0, "readline: read error: len %d "
+ "errno %d (%s)\n", nl, errno, strerror(errno));
return 0;
}
len += nl;
}
(*buf)[len-1] = 0;
- printerr(1, "read line with %d characters:\n%s\n", *lenp, *buf);
+ printerr(3, "readline: read %d chars into buffer of size %d:\n%s\n",
+ len, *lenp, *buf);
return 1;
}