]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Make connection_write_to_buf_zlib set outbuf_flushlen right.
authorNick Mathewson <nickm@torproject.org>
Sun, 18 Jun 2006 08:53:09 +0000 (08:53 +0000)
committerNick Mathewson <nickm@torproject.org>
Sun, 18 Jun 2006 08:53:09 +0000 (08:53 +0000)
svn:r6651

src/or/connection.c

index 451f21ea2f5c4b63d1d4c87c16c6c6b03c17b14a..2454b978c3a774512112312cc713f49d9e317ad3 100644 (file)
@@ -1602,12 +1602,14 @@ connection_write_to_buf_zlib(connection_t *conn,
                              int done)
 {
   int r;
+  size_t old_datalen;
   if (!data_len)
     return;
   /* if it's marked for close, only allow write if we mean to flush it */
   if (conn->marked_for_close && !conn->hold_open_until_flushed)
     return;
 
+  old_datalen = buf_datalen(conn->outbuf);
   /* XXXX TOO much duplicate code! XXXX012NM */
   CONN_LOG_PROTECT(conn, r = write_to_buf_zlib(
                                 conn->outbuf, state, data, data_len,
@@ -1629,7 +1631,7 @@ connection_write_to_buf_zlib(connection_t *conn,
   }
 
   connection_start_writing(conn);
-  conn->outbuf_flushlen += data_len;
+  conn->outbuf_flushlen += buf_datalen(conn->outbuf) - old_datalen;
 }
 
 /** Return the conn to addr/port that has the most recent