diff options
| author | Eric S. Raymond <esr@thyrsus.com> | 1996-10-26 13:21:21 +0000 | 
|---|---|---|
| committer | Eric S. Raymond <esr@thyrsus.com> | 1996-10-26 13:21:21 +0000 | 
| commit | d59e69783b91feb5d3ee5d2ba802c279ecf021c5 (patch) | |
| tree | 3757e936897981afc9136dd3cff7cf8981a3d89a /imap.c | |
| parent | e700d27f62f10357b82737d8086982b31f5aa652 (diff) | |
| download | fetchmail-d59e69783b91feb5d3ee5d2ba802c279ecf021c5.tar.gz fetchmail-d59e69783b91feb5d3ee5d2ba802c279ecf021c5.tar.bz2 fetchmail-d59e69783b91feb5d3ee5d2ba802c279ecf021c5.zip  | |
Include mx.h, fix a memory leak.
svn path=/trunk/; revision=395
Diffstat (limited to 'imap.c')
| -rw-r--r-- | imap.c | 41 | 
1 files changed, 18 insertions, 23 deletions
@@ -111,39 +111,34 @@ int *countp, *newp;      return(0);  } -static int *imap_getsizes(socket, count) +static int imap_getsizes(socket, count, sizes)  /* capture the sizes of all messages */  int	socket;  int	count; +int	*sizes;  { -    int	ok, *sizes; +    char buf [POPBUFSIZE+1]; -    if ((sizes = (int *)malloc(sizeof(int) * count)) == (int *)NULL) -	return((int *)NULL); -    else +    gen_send(socket, "FETCH 1:%d RFC822.SIZE", count); +    while (SockGets(socket, buf, sizeof(buf)) >= 0)      { -	char buf [POPBUFSIZE+1]; - -	gen_send(socket, "FETCH 1:%d RFC822.SIZE", count); -	while (SockGets(socket, buf, sizeof(buf)) >= 0) -	{ -	    int num, size; - -	    if (outlevel == O_VERBOSE) -		fprintf(stderr,"%s\n",buf); -	    if (strstr(buf, "OK")) -		break; -	    else if (sscanf(buf, "* %d FETCH (RFC822.SIZE %d)", &num, &size) == 2) -		sizes[num - 1] = size; -	    else -		sizes[num - 1] = -1; -	} +	int num, size; -	return(sizes); +	if (outlevel == O_VERBOSE) +	    fprintf(stderr,"%s\n",buf); +	if (strstr(buf, "OK")) +	    break; +	else if (sscanf(buf, "* %d FETCH (RFC822.SIZE %d)", &num, &size) == 2) +	    sizes[num - 1] = size; +	else +	    sizes[num - 1] = -1;      } + +    return(0);  }  static imap_is_old(socket, ctl, num) +/* is the given message old? */  int socket;  struct query *ctl;  int num; @@ -182,7 +177,7 @@ int *lenp;  }  static imap_trail(socket, ctl, number) -/* discard tail of FETCH response */ +/* discard tail of FETCH response after reading message text */  int socket;  struct query *ctl;  int number;  | 
