23 if (fp == NULL) fp = stderr;
26 fprintf(fp,
"===================================== %s\n", msg);
29 for (av = argv; *av; av++)
30 fprintf(fp,
"\t%s\n", *av);
49 for (av = argv; *av; av++)
66 if (argi && argi->
nvals > 0)
75 while (argv[argc] != NULL)
91 return ((aint < bint) ? -1 :
92 (aint > bint) ? +1 : 0);
99 return strcmp(astr, bstr);
109 #if defined(RPM_VENDOR_OPENPKG)
114 return (
fnmatch(astr, bstr, 0) == 0 ? 0 : 1);
132 qsort(vals, nvals,
sizeof(*vals),
133 (
int(*)(
const void *,
const void *))compar);
141 qsort(argv,
argvCount(argv),
sizeof(*argv),
142 (
int(*)(
const void *,
const void *))compar);
154 (
int(*)(
const void *,
const void *))compar);
157 #if defined(RPM_VENDOR_OPENPKG)
168 for (av = argv; *av != NULL; av++) {
169 if (compar(av, &val) == 0) {
189 if (ix >= (
int)argi->
nvals) {
192 (ix - argi->
nvals) *
sizeof(*argi->
vals));
193 argi->
nvals = ix + 1;
195 argi->
vals[ix] = val;
208 *argvp = (
ARGV_t)
xrealloc(*argvp, (argc + 1 + 1) *
sizeof(**argvp));
220 if (av != NULL && ac > 0) {
226 argv[argc++] =
xstrdup(av[-1]);
235 static char whitespace[] =
" \f\n\r\t\v";
236 char * dest = (
char *)
xmalloc(strlen(str) + 1);
246 for (argc = 1, s = str, t = dest; (c = (int) *s); s++, t++) {
247 if (strchr(seps, c) && !(s[0] ==
':' && s[1] ==
'/' && s[2] ==
'/')) {
257 for (c = 0, s = dest; s < t; s += strlen(s) + 1) {
259 if (seps == whitespace && s[0] ==
'\0')
280 for (argc = 0; argv[argc] != NULL; argc++) {
283 nb += strlen(argv[argc]);
289 for (argc = 0; argv[argc] != NULL; argc++) {
292 te =
stpcpy(te, argv[argc]);
302 FILE * fp = (fd ? (FILE *)
fdGetFILE(fd) : stdin);
310 while (!rc && (b = fgets(buf, (
int)
sizeof(buf), fp)) != NULL) {
311 buf[
sizeof(buf)-1] =
'\0';
312 be = b + strlen(buf);
314 while (strchr(
"\r\n", *be) != NULL)
322 rc = (feof(fp) ? 0 : 1);