chiark / gitweb /
client/adh-query.c: Surprising comma rather than semicolon.
[adns.git] / client / adnsresfilter.c
index c534f7d70f578ea5906a4c39b348541750b41e7f..7632ee3f59b83c34bc9f24786226678909b40cfd 100644 (file)
@@ -48,8 +48,7 @@
 
 struct outqueuenode {
   struct outqueuenode *next, *back;
 
 struct outqueuenode {
   struct outqueuenode *next, *back;
-  void *buffer;
-  char *textp;
+  char *buffer, *textp;
   int textlen;
   struct timeval printbefore;
   struct treething *addr;
   int textlen;
   struct timeval printbefore;
   struct treething *addr;
@@ -216,7 +215,8 @@ static void queueoutchar(int c) {
   struct outqueuenode *entry;
   
   entry= outqueue.tail;
   struct outqueuenode *entry;
   
   entry= outqueue.tail;
-  if (!entry || entry->addr || entry->textlen >= peroutqueuenode) {
+  if (!entry || entry->addr ||
+      entry->textlen >= peroutqueuenode - (entry->textp - entry->buffer)) {
     peroutqueuenode= !peroutqueuenode || !entry || entry->addr ? 128 : 
       peroutqueuenode >= 1024 ? 4096 : peroutqueuenode<<2;
     entry= xmalloc(sizeof(*entry));
     peroutqueuenode= !peroutqueuenode || !entry || entry->addr ? 128 : 
       peroutqueuenode >= 1024 ? 4096 : peroutqueuenode<<2;
     entry= xmalloc(sizeof(*entry));