Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/bin/sh Mostly DEBUG and white space changes. Convert DEEBU...
details: https://anonhg.NetBSD.org/src/rev/f671e7feb73c
branches: trunk
changeset: 825246:f671e7feb73c
user: kre <kre%NetBSD.org@localhost>
date: Wed Jul 05 19:54:21 2017 +0000
description:
Mostly DEBUG and white space changes. Convert DEEBUG TRACE() calls to
the new format. Also #if 0 a function definition that is used nowhere.
While here, change the function of pushfile() slightly - it now sets
the buf pointer in the top (new) input descriptor to NULL, instead of
simply leaving it - code that needs a buffer always (before and after)
must malloc() one and assign it after the call. But code which does not
(which will be reading from a string or similar) now does not have to
explicitly set it to NULL (cleaner interface.) NFC intended (or observed.)
diffstat:
bin/sh/input.c | 59 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 40 insertions(+), 19 deletions(-)
diffs (191 lines):
diff -r faabf83b6928 -r f671e7feb73c bin/sh/input.c
--- a/bin/sh/input.c Wed Jul 05 19:50:49 2017 +0000
+++ b/bin/sh/input.c Wed Jul 05 19:54:21 2017 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: input.c,v 1.59 2017/06/30 23:02:56 kre Exp $ */
+/* $NetBSD: input.c,v 1.60 2017/07/05 19:54:21 kre Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)input.c 8.3 (Berkeley) 6/9/95";
#else
-__RCSID("$NetBSD: input.c,v 1.59 2017/06/30 23:02:56 kre Exp $");
+__RCSID("$NetBSD: input.c,v 1.60 2017/07/05 19:54:21 kre Exp $");
#endif
#endif /* not lint */
@@ -131,6 +131,7 @@
#endif
+#if 0 /* this is unused */
/*
* Read a line from the script.
*/
@@ -156,7 +157,7 @@
*p = '\0';
return line;
}
-
+#endif
/*
@@ -178,7 +179,7 @@
char *buf = parsefile->buf;
parsenextc = buf;
-retry:
+ retry:
#ifndef SMALL
if (parsefile->fd == 0 && el) {
static const char *rl_cp;
@@ -211,6 +212,7 @@
goto retry;
if (parsefile->fd == 0 && errno == EWOULDBLOCK) {
int flags = fcntl(0, F_GETFL, 0);
+
if (flags >= 0 && flags & O_NONBLOCK) {
flags &=~ O_NONBLOCK;
if (fcntl(0, F_SETFL, flags) >= 0) {
@@ -255,7 +257,7 @@
flushout(&output);
flushout(&errout);
-again:
+ again:
if (parselleft <= 0) {
if ((parselleft = preadfd()) == -1) {
parselleft = parsenleft = EOF_NLEFT;
@@ -294,7 +296,7 @@
}
*q++ = *p++;
-check:
+ check:
if (--parselleft <= 0) {
parsenleft = q - parsenextc - 1;
if (parsenleft < 0)
@@ -348,14 +350,20 @@
{
struct strpush *sp;
+ VTRACE(DBG_INPUT,
+ ("pushstring(\"%.*s\", %d)%s%s%s had: nl=%d ll=%d \"%.*s\"\n",
+ len, s, len, ap ? " for alias:'" : "",
+ ap ? ap->name : "", ap ? "'" : "",
+ parsenleft, parselleft, parsenleft, parsenextc));
+
INTOFF;
-/*debugprintf("*** calling pushstring: %s, %d\n", s, len);*/
if (parsefile->strpush) {
sp = ckmalloc(sizeof (struct strpush));
sp->prev = parsefile->strpush;
parsefile->strpush = sp;
} else
sp = parsefile->strpush = &(parsefile->basestrpush);
+
sp->prevstring = parsenextc;
sp->prevnleft = parsenleft;
sp->prevlleft = parselleft;
@@ -376,7 +384,11 @@
parsenextc = sp->prevstring;
parsenleft = sp->prevnleft;
parselleft = sp->prevlleft;
-/*debugprintf("*** calling popstring: restoring to '%s'\n", parsenextc);*/
+
+ VTRACE(DBG_INPUT, ("popstring()%s%s%s nl=%d ll=%d \"%.*s\"\n",
+ sp->ap ? " from alias:'" : "", sp->ap ? sp->ap->name : "",
+ sp->ap ? "'" : "", parsenleft, parselleft, parsenleft, parsenextc));
+
if (sp->ap)
sp->ap->flag &= ~ALIASINUSE;
parsefile->strpush = sp->prev;
@@ -398,6 +410,8 @@
int fd2;
struct stat sb;
+ CTRACE(DBG_INPUT,("setinputfile(\"%s\", %spush)\n",fname,push?"":"no"));
+
INTOFF;
if ((fd = open(fname, O_RDONLY)) < 0)
error("Can't open %s", fname);
@@ -458,12 +472,12 @@
void
setinputfd(int fd, int push)
{
+ VTRACE(DBG_INPUT, ("setinputfd(%d, %spush)\n", fd, push?"":"no"));
+
register_sh_fd(fd, input_fd_swap);
(void) fcntl(fd, F_SETFD, FD_CLOEXEC);
- if (push) {
+ if (push)
pushfile();
- parsefile->buf = ckmalloc(BUFSIZ);
- }
if (parsefile->fd > 0)
sh_close(parsefile->fd);
parsefile->fd = fd;
@@ -471,7 +485,9 @@
parsefile->buf = ckmalloc(BUFSIZ);
parselleft = parsenleft = 0;
plinno = 1;
- CTRACE(DBG_INPUT, ("setinputfd(%d, %d); plinno=1\n", fd, push));
+
+ CTRACE(DBG_INPUT, ("setinputfd(%d, %spush) done; plinno=1\n", fd,
+ push ? "" : "no"));
}
@@ -488,10 +504,11 @@
pushfile();
parsenextc = string;
parselleft = parsenleft = strlen(string);
- parsefile->buf = NULL;
plinno = line1;
- CTRACE(DBG_INPUT, ("setinputstring(\"%.20s%s\" (%d), %d, %d)\n", string,
- (parsenleft > 20 ? "..." : ""), parsenleft, push, line1));
+
+ CTRACE(DBG_INPUT,
+ ("setinputstring(\"%.20s%s\" (%d), %push, @ %d)\n", string,
+ (parsenleft > 20 ? "..." : ""), parsenleft, push?"":"no", line1));
INTON;
}
@@ -507,8 +524,9 @@
{
struct parsefile *pf;
- VTRACE(DBG_INPUT, ("pushfile(): fd=%d nl=%d ll=%d \"%.*s\" plinno=%d\n",
- parsefile->fd, parsenleft, parselleft,
+ VTRACE(DBG_INPUT,
+ ("pushfile(): fd=%d buf=%p nl=%d ll=%d \"%.*s\" plinno=%d\n",
+ parsefile->fd, parsefile->buf, parsenleft, parselleft,
parsenleft, parsenextc, plinno));
parsefile->nleft = parsenleft;
@@ -520,6 +538,7 @@
pf->fd = -1;
pf->strpush = NULL;
pf->basestrpush.prev = NULL;
+ pf->buf = NULL;
parsefile = pf;
}
@@ -541,10 +560,12 @@
parsenleft = parsefile->nleft;
parselleft = parsefile->lleft;
parsenextc = parsefile->nextc;
+
VTRACE(DBG_INPUT,
- ("popfile(): fd=%d nl=%d ll=%d \"%.*s\" plinno:%d->%d\n",
- parsefile->fd, parsenleft, parselleft,
+ ("popfile(): fd=%d buf=%p nl=%d ll=%d \"%.*s\" plinno:%d->%d\n",
+ parsefile->fd, parsefile->buf, parsenleft, parselleft,
parsenleft, parsenextc, plinno, parsefile->linno));
+
plinno = parsefile->linno;
INTON;
}
Home |
Main Index |
Thread Index |
Old Index