From 63c83a4d88fc1b60008d6e06e9ecff0e165bad6c Mon Sep 17 00:00:00 2001 From: Thulinma Date: Mon, 8 Nov 2010 21:35:18 +0100 Subject: [PATCH] Gadver --- util/flv_sock.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/util/flv_sock.cpp b/util/flv_sock.cpp index bc91c0d0..dbc9c419 100644 --- a/util/flv_sock.cpp +++ b/util/flv_sock.cpp @@ -33,23 +33,13 @@ bool FLV_Isheader(char * header){ bool ReadUntil(char * buffer, unsigned int count, unsigned int & sofar, int sock){ if (sofar >= count){return true;} - int r = 0; - r = DDV_read(buffer + sofar,count-sofar,sock); - fprintf(stderr, "Reading %i/%i, read %i, at %i\n", count, sofar, r, buffer+sofar); - if (r < 0){ - if (errno != EWOULDBLOCK){ - All_Hell_Broke_Loose = true; - fprintf(stderr, "ReadUntil fail: %s. All Hell Broke Loose!\n", strerror(errno)); - } - return false; - } - sofar += r; - if (sofar == count){return true;} - if (sofar > count){ + bool r = DDV_read(buffer + sofar,count-sofar,sock); + fprintf(stderr, "Reading %i/%i\n", sofar, count); + if (!r){ All_Hell_Broke_Loose = true; - fprintf(stderr, "ReadUntil fail: %s. Read too much. All Hell Broke Loose!\n", strerror(errno)); + fprintf(stderr, "ReadUntil fail: %s. All Hell Broke Loose!\n", strerror(errno)); } - return false; + return r; } //gets a packet, storing in given FLV_Pack pointer.