]> granicus.if.org Git - transmission/commitdiff
Optionally return result length from `evbuffer_free_to_str()`
authorMike Gelfand <mikedld@mikedld.com>
Sun, 13 Dec 2015 10:23:22 +0000 (10:23 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Sun, 13 Dec 2015 10:23:22 +0000 (10:23 +0000)
libtransmission/announcer-http.c
libtransmission/announcer.c
libtransmission/log.c
libtransmission/peer-msgs.c
libtransmission/torrent-magnet.c
libtransmission/utils.c
libtransmission/utils.h
libtransmission/variant.c
libtransmission/webseed.c
utils/edit.c

index b436bd415db47639e9758d42358c89821a760c1b..95811d63edcf94a20fd9308ff8d96bbc996f1ac2 100644 (file)
@@ -117,7 +117,7 @@ announce_url_new (const tr_session * session, const tr_announce_request * req)
         tr_http_escape (buf, ipv6_readable, -1, true);
     }
 
-    return evbuffer_free_to_str (buf);
+    return evbuffer_free_to_str (buf, NULL);
 }
 
 static tr_pex*
@@ -447,7 +447,7 @@ scrape_url_new (const tr_scrape_request * req)
         delimiter = '&';
     }
 
-    return evbuffer_free_to_str (buf);
+    return evbuffer_free_to_str (buf, NULL);
 }
 
 void
index f5b79a753e3c40b8cef11c7266d2f70433018cf5..4af98096b2e84e16e65a6647d35f59569bf07cb7 100644 (file)
@@ -767,7 +767,7 @@ dbgmsg_tier_announce_queue (const tr_tier * tier)
             evbuffer_add_printf (buf, "[%d:%s]", i, str);
         }
 
-        message = evbuffer_free_to_str (buf);
+        message = evbuffer_free_to_str (buf, NULL);
         tr_logAddDeep (__FILE__, __LINE__, name, "announce queue is %s", message);
         tr_free (message);
     }
index 05802ab4f80d878cc063be6e5acbe0170826504f..bcff8bd239808bee81b6d0831c9a56b25b19cdc9 100644 (file)
@@ -194,7 +194,7 @@ tr_logAddDeep (const char  * file,
       va_end (args);
       evbuffer_add_printf (buf, " (%s:%d)", base, line);
       /* FIXME (libevent2) ifdef this out for nonwindows platforms */
-      message = evbuffer_free_to_str (buf);
+      message = evbuffer_free_to_str (buf, NULL);
       OutputDebugStringA (message);
       OutputDebugStringA (TR_NATIVE_EOL_STR);
       if (fp != TR_BAD_SYS_FILE)
index 0b95e3f6b24f6915468a65a98bd84d00cdc3e2ee..3210e48002f6e7e495ec26ffd21275cbf81008ea 100644 (file)
@@ -301,7 +301,7 @@ myDebug (const char * file, int line,
       va_end (args);
       evbuffer_add_printf (buf, " (%s:%d)", base, line);
 
-      message = evbuffer_free_to_str (buf);
+      message = evbuffer_free_to_str (buf, NULL);
       tr_sys_file_write_line (fp, message, NULL);
 
       tr_free (base);
index a2d0619c3b22e3232543ca0209704428a5d8d5d8..486e2695eacbf3bd637941f123f6f0ad29dc9557 100644 (file)
@@ -406,5 +406,5 @@ tr_torrentInfoGetMagnetLink (const tr_info * inf)
       tr_http_escape (s, inf->webseeds[i], -1, true);
     }
 
-  return evbuffer_free_to_str (s);
+  return evbuffer_free_to_str (s, NULL);
 }
index d31b72a70e97d151f24af8f22a17d22761ffb446..099a551a56f843ba5e895aca4918acb9bdef2c61 100644 (file)
@@ -349,13 +349,16 @@ tr_getDirFreeSpace (const char * dir)
 ****/
 
 char*
-evbuffer_free_to_str (struct evbuffer * buf)
+evbuffer_free_to_str (struct evbuffer * buf,
+                      size_t          * result_len)
 {
   const size_t n = evbuffer_get_length (buf);
   char * ret = tr_new (char, n + 1);
   evbuffer_copyout (buf, ret, n);
   evbuffer_free (buf);
   ret[n] = '\0';
+  if (result_len != NULL)
+    *result_len = n;
   return ret;
 }
 
@@ -426,7 +429,7 @@ tr_strdup_vprintf (const char * fmt,
 {
   struct evbuffer * buf = evbuffer_new ();
   evbuffer_add_vprintf (buf, fmt, args);
-  return evbuffer_free_to_str (buf);
+  return evbuffer_free_to_str (buf, NULL);
 }
 
 const char*
@@ -983,7 +986,6 @@ static char*
 strip_non_utf8 (const char * in, size_t inlen)
 {
   const char * end;
-  const char zero = '\0';
   struct evbuffer * buf = evbuffer_new ();
 
   while (!tr_utf8_validate (in, inlen, &end))
@@ -997,8 +999,7 @@ strip_non_utf8 (const char * in, size_t inlen)
     }
 
   evbuffer_add (buf, in, inlen);
-  evbuffer_add (buf, &zero, 1);
-  return evbuffer_free_to_str (buf);
+  return evbuffer_free_to_str (buf, NULL);
 }
 
 static char*
index b0ec07f08b05b3e4287bca82e44c4b8a6fc09b89..8213b5b859b5e2e5daf844f77a2cc8a971d3c87a 100644 (file)
@@ -297,7 +297,8 @@ char* tr_strdup (const void * in);
  */
 int tr_strcmp0 (const char * str1, const char * str2);
 
-char* evbuffer_free_to_str (struct evbuffer * buf);
+char* evbuffer_free_to_str (struct evbuffer * buf,
+                            size_t          * result_len);
 
 /** @brief similar to bsearch () but returns the index of the lower bound */
 int tr_lowerBound (const void * key,
index 2cc20bc9f0f1d519095340180f3ff9833d0fd127..d5b85f0d99af6a2cf7f37aa38c69b578711acbf4 100644 (file)
@@ -1202,8 +1202,8 @@ char*
 tr_variantToStr (const tr_variant * v, tr_variant_fmt fmt, int * len)
 {
   struct evbuffer * buf = tr_variantToBuf (v, fmt);
-  const size_t n = evbuffer_get_length (buf);
-  char * ret = evbuffer_free_to_str (buf);
+  size_t n;
+  char * ret = evbuffer_free_to_str (buf, &n);
   if (len != NULL)
     *len = (int) n;
   return ret;
index 9d6588f970e15224115978594b5501a22ea4c702..e813ec769d09eaf0907dcd3fc430c3abfa22f2e5 100644 (file)
@@ -494,7 +494,7 @@ task_request_next_chunk (struct tr_webseed_task * t)
       this_pass = MIN (remain, file->length - file_offset);
 
       if (!urls[file_index])
-        urls[file_index] = evbuffer_free_to_str (make_url (t->webseed, file));
+        urls[file_index] = evbuffer_free_to_str (make_url (t->webseed, file), NULL);
 
       tr_snprintf (range, sizeof range, "%"PRIu64"-%"PRIu64,
                    file_offset, file_offset + this_pass - 1);
index d7e7a70e634fa8a69d292144928d6a4629cde5af..6c2b186ef9d122315670df95f00b0edc972470b9 100644 (file)
@@ -177,7 +177,7 @@ replaceSubstr (const char * str, const char * in, const char * out)
 
   evbuffer_add (buf, str, strlen (str));
 
-  return evbuffer_free_to_str (buf);
+  return evbuffer_free_to_str (buf, NULL);
 }
 
 static bool