From d79795d1576d69a57a852c4f279da133e68755df Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 25 Aug 2008 11:37:34 +0200 Subject: piano: Code refactoring Avoid strncat/strncpy, cache strlen result, ... --- libpiano/src/http.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'libpiano/src/http.c') diff --git a/libpiano/src/http.c b/libpiano/src/http.c index 88d299c..96655ca 100644 --- a/libpiano/src/http.c +++ b/libpiano/src/http.c @@ -28,7 +28,6 @@ THE SOFTWARE. #define PIANO_HTTP_BUFFER_SIZE 100000 -/* FIXME: curl has a receive limit, use it! */ /* callback for curl, writes data to buffer * @param received data * @param block size @@ -37,15 +36,14 @@ THE SOFTWARE. * @return written bytes */ size_t PianoCurlRetToVar (void *ptr, size_t size, size_t nmemb, void *stream) { - char *charPtr = ptr; char *streamPtr = stream; size_t streamPtrN = strlen (streamPtr); - if (streamPtrN + nmemb > PIANO_HTTP_BUFFER_SIZE) { + if ((streamPtrN + nmemb) > (PIANO_HTTP_BUFFER_SIZE - 1)) { printf ("buffer overflow...\n"); return 0; } else { - memcpy (streamPtr+streamPtrN, charPtr, size*nmemb); + memcpy (&streamPtr[streamPtrN], ptr, size*nmemb); return size*nmemb; } } -- cgit v1.2.3