Module Name: src Committed By: christos Date: Sat Jan 22 14:08:19 UTC 2022
Modified Files: src/usr.bin/find: extern.h find.h misc.c Log Message: Use /dev/tty for SIGINFO Fix some size_t<->int To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/usr.bin/find/extern.h cvs rdiff -u -r1.27 -r1.28 src/usr.bin/find/find.h cvs rdiff -u -r1.14 -r1.15 src/usr.bin/find/misc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/find/extern.h diff -u src/usr.bin/find/extern.h:1.29 src/usr.bin/find/extern.h:1.30 --- src/usr.bin/find/extern.h:1.29 Sun Jun 12 20:04:40 2016 +++ src/usr.bin/find/extern.h Sat Jan 22 09:08:19 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: extern.h,v 1.29 2016/06/13 00:04:40 pgoyette Exp $ */ +/* $NetBSD: extern.h,v 1.30 2022/01/22 14:08:19 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 @@ -33,7 +33,7 @@ #include <sys/cdefs.h> -void brace_subst(char *, char **, char *, int *); +void brace_subst(char *, char **, char *, size_t *); PLAN *find_create(char ***); int find_execute(PLAN *, char **); PLAN *find_formplan(char **); Index: src/usr.bin/find/find.h diff -u src/usr.bin/find/find.h:1.27 src/usr.bin/find/find.h:1.28 --- src/usr.bin/find/find.h:1.27 Thu Mar 18 14:21:18 2021 +++ src/usr.bin/find/find.h Sat Jan 22 09:08:19 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: find.h,v 1.27 2021/03/18 18:21:18 cheusov Exp $ */ +/* $NetBSD: find.h,v 1.28 2022/01/22 14:08:19 christos Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -79,7 +79,7 @@ typedef struct _plandata { struct _ex { char **_e_argv; /* argv array */ char **_e_orig; /* original strings */ - int *_e_len; /* allocated length */ + size_t *_e_len; /* allocated length */ char **_ep_bxp; /* ptr to 1st addt'l arg */ char *_ep_p; /* current buffer pointer */ char *_ep_bbp; /* begin buffer pointer */ Index: src/usr.bin/find/misc.c diff -u src/usr.bin/find/misc.c:1.14 src/usr.bin/find/misc.c:1.15 --- src/usr.bin/find/misc.c:1.14 Wed Oct 11 15:51:10 2006 +++ src/usr.bin/find/misc.c Sat Jan 22 09:08:19 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: misc.c,v 1.14 2006/10/11 19:51:10 apb Exp $ */ +/* $NetBSD: misc.c,v 1.15 2022/01/22 14:08:19 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "from: @(#)misc.c 8.2 (Berkeley) 4/1/94"; #else -__RCSID("$NetBSD: misc.c,v 1.14 2006/10/11 19:51:10 apb Exp $"); +__RCSID("$NetBSD: misc.c,v 1.15 2022/01/22 14:08:19 christos Exp $"); #endif #endif /* not lint */ @@ -51,6 +51,8 @@ __RCSID("$NetBSD: misc.c,v 1.14 2006/10/ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <paths.h> +#include <fcntl.h> #include "find.h" @@ -60,9 +62,9 @@ __RCSID("$NetBSD: misc.c,v 1.14 2006/10/ * area of memory set in store. */ void -brace_subst(char *orig, char **store, char *path, int *len) +brace_subst(char *orig, char **store, char *path, size_t *len) { - int nlen, plen, rest; + size_t nlen, plen, rest; char ch, *p, *ostore; plen = strlen(path); @@ -133,7 +135,9 @@ void show_path(int sig) { extern FTSENT *g_entry; - int errno_bak; + static int ttyfd = -2; + char buf[2048]; + int oerrno, n; if (g_entry == NULL) { /* @@ -143,9 +147,20 @@ show_path(int sig) return; } - errno_bak = errno; - write(STDERR_FILENO, "find path: ", 11); - write(STDERR_FILENO, g_entry->fts_path, g_entry->fts_pathlen); - write(STDERR_FILENO, "\n", 1); - errno = errno_bak; + oerrno = errno; + if (ttyfd == -2) + ttyfd = open(_PATH_TTY, O_RDWR | O_CLOEXEC); + + if (ttyfd == -1) + goto out; + + n = snprintf_ss(buf, sizeof(buf), "%s: path %s\n", getprogname(), + g_entry->fts_path); + + if (n <= 0) + goto out; + + write(ttyfd, buf, (size_t)n); +out: + errno = oerrno; }