|
|
1.1 root 1: #include <picfile.h>
2: #include <stdio.h>
3: #include <libc.h>
4: /*
5: * Bug: doesn't check status from malloc or realloc.
6: */
7: PICFILE *picputprop(f, name, val)
8: PICFILE *f;
9: char *name, *val;
10: {
11: register char **ap;
12: int i, nlen=strlen(name), vlen=strlen(val), alen;
13: for(i=0,ap=f->argv;i!=f->argc;i++,ap++)
14: if(strncmp(*ap, name, nlen)==0 && (*ap)[nlen]=='='){
15: alen=strlen(*ap);
16: *ap=realloc(*ap, alen+vlen+2);
17: (*ap)[alen]='\n';
18: strcpy(*ap+alen+1, val);
19: return f;
20: }
21: f->argv=(char **)realloc((char *)f->argv, (f->argc+2)*sizeof(char *));
22: ap=&f->argv[f->argc];
23: *ap=malloc(nlen+vlen+2);
24: strcpy(*ap, name);
25: (*ap)[nlen]='=';
26: strcpy(*ap+nlen+1, val);
27: f->argv[++f->argc]=0;
28: return f;
29: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.