Module Name: src
Committed By: asau
Date: Sun Mar 1 01:00:07 UTC 2015
Modified Files:
src/usr.bin/sed: extern.h main.c process.c
Log Message:
Close files opened at processing time within processing phase.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/usr.bin/sed/extern.h
cvs rdiff -u -r1.32 -r1.33 src/usr.bin/sed/main.c
cvs rdiff -u -r1.49 -r1.50 src/usr.bin/sed/process.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/sed/extern.h
diff -u src/usr.bin/sed/extern.h:1.17 src/usr.bin/sed/extern.h:1.18
--- src/usr.bin/sed/extern.h:1.17 Sun Mar 1 00:51:08 2015
+++ src/usr.bin/sed/extern.h Sun Mar 1 01:00:07 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: extern.h,v 1.17 2015/03/01 00:51:08 asau Exp $ */
+/* $NetBSD: extern.h,v 1.18 2015/03/01 01:00:07 asau Exp $ */
/*-
* Copyright (c) 1992 Diomidis Spinellis.
@@ -62,7 +62,6 @@ extern int aflag, nflag;
extern int ispan;
extern int rflags; /* regex flags to use */
-void cfclose(struct s_command *, struct s_command *);
void compile(void);
void cspace(SPACE *, const char *, size_t, enum e_spflag);
int process(void);
Index: src/usr.bin/sed/main.c
diff -u src/usr.bin/sed/main.c:1.32 src/usr.bin/sed/main.c:1.33
--- src/usr.bin/sed/main.c:1.32 Sun Mar 1 00:38:01 2015
+++ src/usr.bin/sed/main.c Sun Mar 1 01:00:07 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.32 2015/03/01 00:38:01 asau Exp $ */
+/* $NetBSD: main.c,v 1.33 2015/03/01 01:00:07 asau Exp $ */
/*-
* Copyright (c) 2013 Johann 'Myrkraverk' Oskarsson.
@@ -39,7 +39,7 @@
#endif
#include <sys/cdefs.h>
-__RCSID("$NetBSD: main.c,v 1.32 2015/03/01 00:38:01 asau Exp $");
+__RCSID("$NetBSD: main.c,v 1.33 2015/03/01 01:00:07 asau Exp $");
#ifdef __FBSDID
__FBSDID("$FreeBSD: head/usr.bin/sed/main.c 252231 2013-06-26 04:14:19Z pfg $");
#endif
@@ -185,7 +185,6 @@ main(int argc, char *argv[])
else
add_file(NULL);
rval = process();
- cfclose(prog, NULL);
if (fclose(stdout))
err(1, "stdout");
exit(rval);
Index: src/usr.bin/sed/process.c
diff -u src/usr.bin/sed/process.c:1.49 src/usr.bin/sed/process.c:1.50
--- src/usr.bin/sed/process.c:1.49 Sun Mar 1 00:51:08 2015
+++ src/usr.bin/sed/process.c Sun Mar 1 01:00:07 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: process.c,v 1.49 2015/03/01 00:51:08 asau Exp $ */
+/* $NetBSD: process.c,v 1.50 2015/03/01 01:00:07 asau Exp $ */
/*-
* Copyright (c) 1992 Diomidis Spinellis.
@@ -38,7 +38,7 @@
#endif
#include <sys/cdefs.h>
-__RCSID("$NetBSD: process.c,v 1.49 2015/03/01 00:51:08 asau Exp $");
+__RCSID("$NetBSD: process.c,v 1.50 2015/03/01 01:00:07 asau Exp $");
#ifdef __FBSDID
__FBSDID("$FreeBSD: head/usr.bin/sed/process.c 192732 2009-05-25 06:45:33Z brian $");
#endif
@@ -80,6 +80,7 @@ static int mf_fgets(SPACE *, enum e_spfl
static int lastline(void);
static __inline int applies(struct s_command *);
+static void cfclose(struct s_command *, struct s_command *);
static void do_tr(struct s_tr *);
static void flush_appends(void);
static void lputs(char *, size_t);
@@ -296,6 +297,7 @@ new: if (!nflag && !pd)
OUT();
flush_appends();
} /* for all lines */
+ cfclose(prog, NULL);
return rval;
}
@@ -795,7 +797,7 @@ cspace(SPACE *sp, const char *p, size_t
/*
* Close all cached opened files and report any errors
*/
-void
+static void
cfclose(struct s_command *cp, struct s_command *end)
{