# HG changeset patch # User Eric Warmenhoven # Date 976539963 0 # Node ID cedf7047081e8ead3571f0d9908f83b2780684a0 # Parent 728a90516211e7d05d796b3997ef31eedd3e71b1 [gaim-migrate @ 1244] this should fix a few problems. committer: Tailor Script diff -r 728a90516211 -r cedf7047081e src/toc.c --- a/src/toc.c Mon Dec 11 12:50:38 2000 +0000 +++ b/src/toc.c Mon Dec 11 13:06:03 2000 +0000 @@ -47,7 +47,7 @@ #include "pixmaps/dt_icon.xpm" #include "pixmaps/free_icon.xpm" -#define REVISION "gaim:$Revision: 1218 $" +#define REVISION "gaim:$Revision: 1244 $" #define TYPE_SIGNON 1 #define TYPE_DATA 2 @@ -221,8 +221,15 @@ } if (ntohs(hdr->len) > 0) { - ret = read(tdt->toc_fd, buffer + sizeof(struct sflap_hdr), ntohs(hdr->len)); - buffer[sizeof(struct sflap_hdr) + ret] = '\0'; + int count = 0; + ret = 0; + do { + count += ret; + ret = read(tdt->toc_fd, + buffer + sizeof(struct sflap_hdr) + count, + ntohs(hdr->len)); + } while (count + ret < ntohs(hdr->len) && ret > 0); + buffer[sizeof(struct sflap_hdr) + count + ret] = '\0'; return ret; } else return 0; }