chiark / gitweb /
FOUND on davenant
authorian <ian>
Wed, 16 Apr 2014 23:47:02 +0000 (23:47 +0000)
committerian <ian>
Wed, 16 Apr 2014 23:47:02 +0000 (23:47 +0000)
/u/ian/things/Adns/adns
-rw-rw-r-- 1 ian ian 12465 Oct 18  2006 client/adnsresfilter.c

client/adnsresfilter.c

index c534f7d70f578ea5906a4c39b348541750b41e7f..7632ee3f59b83c34bc9f24786226678909b40cfd 100644 (file)
@@ -48,8 +48,7 @@
 
 struct outqueuenode {
   struct outqueuenode *next, *back;
-  void *buffer;
-  char *textp;
+  char *buffer, *textp;
   int textlen;
   struct timeval printbefore;
   struct treething *addr;
@@ -216,7 +215,8 @@ static void queueoutchar(int c) {
   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));