18 if (fp == NULL) fp = stderr;
21 fprintf(fp,
"===================================== %s\n", msg);
24 for (av = argv; *av; av++)
25 fprintf(fp,
"\t%s\n", *av);
44 for (av = argv; *av; av++)
61 if (argi && argi->
nvals > 0)
70 while (argv[argc] != NULL)
82 int argiCmp(
const void * a,
const void * b)
86 return ((aint < bint) ? -1 :
87 (aint > bint) ? +1 : 0);
90 int argvCmp(
const void * a,
const void * b)
94 return strcmp(astr, bstr);
104 #if defined(RPM_VENDOR_OPENPKG)
105 int argvFnmatch(
const void * a,
const void * b)
109 return (
fnmatch(astr, bstr, 0) == 0 ? 0 : 1);
112 int argvFnmatchCasefold(
const void * a,
const void * b)
127 qsort(vals, nvals,
sizeof(*vals), compar);
135 qsort(argv,
argvCount(argv),
sizeof(*argv), compar);
140 int (*compar)(
const void *,
const void *))
146 return bsearch(&val, argv,
argvCount(argv),
sizeof(*argv), compar);
149 #if defined(RPM_VENDOR_OPENPKG)
151 int (*compar)(
const void *,
const void *))
160 for (av = argv; *av != NULL; av++) {
161 if (compar(av, &val) == 0) {
177 *argip =
xcalloc(1,
sizeof(**argip));
181 if (ix >= (
int)argi->
nvals) {
184 (ix - argi->
nvals) *
sizeof(*argi->
vals));
185 argi->
nvals = ix + 1;
187 argi->
vals[ix] = val;
200 *argvp =
xrealloc(*argvp, (argc + 1 + 1) *
sizeof(**argvp));
212 if (av != NULL && ac > 0) {
216 argv =
xrealloc(argv, (argc + ac + 1) *
sizeof(*argv));
218 argv[argc++] =
xstrdup(av[-1]);
227 static char whitespace[] =
" \f\n\r\t\v";
228 char * dest =
xmalloc(strlen(str) + 1);
238 for (argc = 1, s = str, t = dest; (c = (int) *s); s++, t++) {
239 if (strchr(seps, c) && !(s[0] ==
':' && s[1] ==
'/' && s[2] ==
'/')) {
247 argv =
xmalloc( (argc + 1) *
sizeof(*argv));
249 for (c = 0, s = dest; s < t; s += strlen(s) + 1) {
251 if (seps == whitespace && s[0] ==
'\0')
272 for (argc = 0; argv[argc] != NULL; argc++) {
275 nb += strlen(argv[argc]);
281 for (argc = 0; argv[argc] != NULL; argc++) {
284 te =
stpcpy(te, argv[argc]);
293 FILE * fp = (fd ?
fdGetFILE(fd) : stdin);
301 while (!rc && (b = fgets(buf, (
int)
sizeof(buf), fp)) != NULL) {
302 buf[
sizeof(buf)-1] =
'\0';
303 be = b + strlen(buf);
305 while (strchr(
"\r\n", *be) != NULL)
313 rc = (feof(fp) ? 0 : 1);