* Copyright (c) 1990 The Regents of the University of California.
* This code is derived from software contributed to Berkeley by
* Cimarron D. Taylor of the University of California, Berkeley.
* %sccs.include.redist.c%
static char sccsid
[] = "@(#)misc.c 5.2 (Berkeley) %G%";
* Replace occurrences of {} in s1 with s2 and return the result string.
find_subst(orig
, store
, path
, len
)
char *orig
, **store
, *path
;
char *realloc(), *strerror();
for (p
= *store
; ch
= *orig
; ++orig
)
if (ch
== '{' && orig
[1] == '}') {
while ((p
- *store
) + plen
> len
)
if (!(*store
= realloc(*store
, len
*= 2))) {
"find: %s.\n", strerror(errno
));
* print a message to standard error and then read input from standard
* input. If the input is 'y' then 1 is returned.
(void)fprintf(stderr
, "\"%s", *argv
);
(void)fprintf(stderr
, " %s", *argv
);
(void)fprintf(stderr
, "\"? ");
return(!fgets(buf
, sizeof(buf
), stdin
) || buf
[0] != 'y' ? 0 : 1);
* print out a bad argument message.
(void)fprintf(stderr
, "find: %s: %s.\n", option
, error
);
* malloc with error checking.
char *p
, *malloc(), *strerror();
if (!(p
= malloc(len
))) {
(void)fprintf(stderr
, "find: %s.\n", strerror(errno
));
(void)fprintf(stderr
, "usage: find path-list expression\n");
"usage: find [-dsx] -f path ... expression\n");