|
|
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.