diff options
| author | Eric S. Raymond <esr@thyrsus.com> | 1998-10-08 05:31:22 +0000 | 
|---|---|---|
| committer | Eric S. Raymond <esr@thyrsus.com> | 1998-10-08 05:31:22 +0000 | 
| commit | 632f1335893998041f66a25d3809ad719f8557b7 (patch) | |
| tree | 4530ed420648800a93d1ccded966c7ef941eb3a6 /options.c | |
| parent | e5cbf59f31c46a8da51b71b16674474be9fe319b (diff) | |
| download | fetchmail-632f1335893998041f66a25d3809ad719f8557b7.tar.gz fetchmail-632f1335893998041f66a25d3809ad719f8557b7.tar.bz2 fetchmail-632f1335893998041f66a25d3809ad719f8557b7.zip  | |
Use alloca where possible.
svn path=/trunk/; revision=2076
Diffstat (limited to 'options.c')
| -rw-r--r-- | options.c | 16 | 
1 files changed, 10 insertions, 6 deletions
@@ -7,6 +7,13 @@  #include "config.h"  #include <stdio.h> +#if defined(HAVE_ALLOCA_H) +#include <alloca.h> +#else +#ifdef _AIX + #pragma alloca +#endif +#endif  #include <pwd.h>  #include <string.h>  #include <errno.h> @@ -406,18 +413,17 @@ struct query *ctl;	/* option record to be initialized */  	    break;  	case 'r':  	case LA_FOLDER: -	    buf = xmalloc(strlen(optarg)); +	    buf = alloca(strlen(optarg));  	    strcpy(buf, optarg);  	    cp = strtok(buf, ",");  	    do {  		save_str(&ctl->mailboxes, cp, 0);  	    } while  		((cp = strtok((char *)NULL, ","))); -	    free(buf);  	    break;  	case 'S':  	case LA_SMTPHOST: -	    buf = xmalloc(strlen(optarg)); +	    buf = alloca(strlen(optarg));  	    strcpy(buf, optarg);  	    cp = strtok(buf, ",");  	    do { @@ -425,7 +431,6 @@ struct query *ctl;	/* option record to be initialized */  	    } while  		((cp = strtok((char *)NULL, ",")));  	    ocount++; -	    free(buf);  	    break;  	case 'D':  	case LA_SMTPADDR: @@ -433,7 +438,7 @@ struct query *ctl;	/* option record to be initialized */  	    break;  	case 'Z':  	case LA_ANTISPAM: -	    buf = xmalloc(strlen(optarg)); +	    buf = alloca(strlen(optarg));  	    strcpy(buf, optarg);  	    cp = strtok(buf, ",");  	    do { @@ -442,7 +447,6 @@ struct query *ctl;	/* option record to be initialized */  		idp->val.status.num = atoi(cp);  	    } while  		((cp = strtok((char *)NULL, ","))); -	    free(buf);  	    break;  	case 'b':  	case LA_BATCHLIMIT:  | 
