comparison src/toc.c @ 1234:cedf7047081e

[gaim-migrate @ 1244] this should fix a few problems. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 11 Dec 2000 13:06:03 +0000
parents 66a70fbb2b09
children b5783215b245
comparison
equal deleted inserted replaced
1233:728a90516211 1234:cedf7047081e
45 #include "pixmaps/aol_icon.xpm" 45 #include "pixmaps/aol_icon.xpm"
46 #include "pixmaps/away_icon.xpm" 46 #include "pixmaps/away_icon.xpm"
47 #include "pixmaps/dt_icon.xpm" 47 #include "pixmaps/dt_icon.xpm"
48 #include "pixmaps/free_icon.xpm" 48 #include "pixmaps/free_icon.xpm"
49 49
50 #define REVISION "gaim:$Revision: 1218 $" 50 #define REVISION "gaim:$Revision: 1244 $"
51 51
52 #define TYPE_SIGNON 1 52 #define TYPE_SIGNON 1
53 #define TYPE_DATA 2 53 #define TYPE_DATA 2
54 #define TYPE_ERROR 3 54 #define TYPE_ERROR 3
55 #define TYPE_SIGNOFF 4 55 #define TYPE_SIGNOFF 4
219 debug_printf("buffer too small (have %d, need %d)\n", buflen, ntohs(hdr->len)); 219 debug_printf("buffer too small (have %d, need %d)\n", buflen, ntohs(hdr->len));
220 return -1; 220 return -1;
221 } 221 }
222 222
223 if (ntohs(hdr->len) > 0) { 223 if (ntohs(hdr->len) > 0) {
224 ret = read(tdt->toc_fd, buffer + sizeof(struct sflap_hdr), ntohs(hdr->len)); 224 int count = 0;
225 buffer[sizeof(struct sflap_hdr) + ret] = '\0'; 225 ret = 0;
226 do {
227 count += ret;
228 ret = read(tdt->toc_fd,
229 buffer + sizeof(struct sflap_hdr) + count,
230 ntohs(hdr->len));
231 } while (count + ret < ntohs(hdr->len) && ret > 0);
232 buffer[sizeof(struct sflap_hdr) + count + ret] = '\0';
226 return ret; 233 return ret;
227 } else return 0; 234 } else return 0;
228 } 235 }
229 236
230 static unsigned char *roast_password(char *pass) { 237 static unsigned char *roast_password(char *pass) {