Date: Sun, 1 Jul 2001 11:06:25 -0400 (EDT) From: Mike Barcroft <mike@q9media.com> To: Bruce Evans <bde@zeta.org.au> Cc: audit@FreeBSD.org Subject: Re: src/bin/ed patch Message-ID: <200107011506.f61F6P904227@coffee.q9media.com>
next in thread | raw e-mail | index | archive | help
Bruce Evans <bde@zeta.org.au> writes: > On Fri, 29 Jun 2001, Mike Barcroft wrote: > > o Since the rcsids are generating warnings, switch to __RCSID(). > > Please don't. obrien and I are trying to decide whether ids (initially > in libc) should be changed to use __RCSID() when they are cleaned up. > I think we are unlikely to use it. One problem is that it is also used > in other BSDs, so it can't be used to hide messy ifdefs to control the > visibility of the id string in a system-dependent way. Why not just add a switch in /etc/{defaults/,}make.conf to allow one to control the visibility of RCSIDs? What concern is it of ours if the other BSDs embed RCSIDs unconditionally? In any event, __RCSID() doesn't appear ready for general use. An updated version of my patch is available at the end of this message and also at: http://testbed.q9media.net/freebsd/ed.20010701.patch This patch will need to be tested on an Alpha before committing. Best regards, Mike Barcroft ----------------------------------------------------------------------- ed.20010701.patch o Correctly define rcsid [requested by bde]. o Add consts where appropriate. o Rename some variables that are shadowing global declarations. o Set WARNS?=2 Index: ed/Makefile =================================================================== RCS file: /home/ncvs/src/bin/ed/Makefile,v retrieving revision 1.18 diff -u -r1.18 Makefile --- ed/Makefile 2000/02/29 11:39:24 1.18 +++ ed/Makefile 2001/07/01 14:29:05 @@ -1,6 +1,7 @@ # $FreeBSD: src/bin/ed/Makefile,v 1.18 2000/02/29 11:39:24 markm Exp $ PROG= ed +WARNS?= 2 SRCS= buf.c cbc.c glbl.c io.c main.c re.c sub.c undo.c LINKS= ${BINDIR}/ed ${BINDIR}/red MLINKS= ed.1 red.1 Index: ed/buf.c =================================================================== RCS file: /home/ncvs/src/bin/ed/buf.c,v retrieving revision 1.17 diff -u -r1.17 buf.c --- ed/buf.c 1999/08/27 23:14:12 1.17 +++ ed/buf.c 2001/07/01 14:29:05 @@ -27,12 +27,8 @@ */ #ifndef lint -#if 0 -static char * const rcsid = "@(#)buf.c,v 1.4 1994/02/01 00:34:35 alm Exp"; -#else -static char * const rcsid = +static const char rcsid[] = "$FreeBSD: src/bin/ed/buf.c,v 1.17 1999/08/27 23:14:12 peter Exp $"; -#endif #endif /* not lint */ #include <sys/file.h> Index: ed/cbc.c =================================================================== RCS file: /home/ncvs/src/bin/ed/cbc.c,v retrieving revision 1.13 diff -u -r1.13 cbc.c --- ed/cbc.c 2001/03/05 02:15:37 1.13 +++ ed/cbc.c 2001/07/01 14:29:05 @@ -33,17 +33,11 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * from: @(#)bdes.c 5.5 (Berkeley) 6/27/91 */ #ifndef lint -#if 0 -static char * const rcsid = "@(#)cbc.c,v 1.2 1994/02/01 00:34:36 alm Exp"; -#else -static char * const rcsid = +static const char rcsid[] = "$FreeBSD: src/bin/ed/cbc.c,v 1.13 2001/03/05 02:15:37 kris Exp $"; -#endif #endif /* not lint */ #include <sys/types.h> @@ -209,7 +203,7 @@ */ void des_error(s) - char *s; /* the message */ + const char *s; /* the message */ { (void)sprintf(errmsg, "%s", s ? s : strerror(errno)); } @@ -250,9 +244,9 @@ * convert the key to a bit pattern */ void -expand_des_key(obuf, ibuf) +expand_des_key(obuf, kbuf) char *obuf; /* bit pattern */ - char *ibuf; /* the key itself */ + char *kbuf; /* the key itself */ { register int i, j; /* counter in a for loop */ int nbuf[64]; /* used for hex/key translation */ @@ -260,13 +254,13 @@ /* * leading '0x' or '0X' == hex key */ - if (ibuf[0] == '0' && (ibuf[1] == 'x' || ibuf[1] == 'X')) { - ibuf = &ibuf[2]; + if (kbuf[0] == '0' && (kbuf[1] == 'x' || kbuf[1] == 'X')) { + kbuf = &kbuf[2]; /* * now translate it, bombing on any illegal hex digit */ - for (i = 0; ibuf[i] && i < 16; i++) - if ((nbuf[i] = hex_to_binary((int) ibuf[i], 16)) == -1) + for (i = 0; kbuf[i] && i < 16; i++) + if ((nbuf[i] = hex_to_binary((int) kbuf[i], 16)) == -1) des_error("bad hex digit in key"); while (i < 16) nbuf[i++] = 0; @@ -280,13 +274,13 @@ /* * leading '0b' or '0B' == binary key */ - if (ibuf[0] == '0' && (ibuf[1] == 'b' || ibuf[1] == 'B')) { - ibuf = &ibuf[2]; + if (kbuf[0] == '0' && (kbuf[1] == 'b' || kbuf[1] == 'B')) { + kbuf = &kbuf[2]; /* * now translate it, bombing on any illegal binary digit */ - for (i = 0; ibuf[i] && i < 16; i++) - if ((nbuf[i] = hex_to_binary((int) ibuf[i], 2)) == -1) + for (i = 0; kbuf[i] && i < 16; i++) + if ((nbuf[i] = hex_to_binary((int) kbuf[i], 2)) == -1) des_error("bad binary digit in key"); while (i < 64) nbuf[i++] = 0; @@ -300,7 +294,7 @@ /* * no special leader -- ASCII */ - (void)strncpy(obuf, ibuf, 8); + (void)strncpy(obuf, kbuf, 8); } /***************** @@ -391,7 +385,7 @@ char *msgbuf; /* I/O buffer */ FILE *fp; /* input file descriptor */ { - Desbuf ibuf; /* temp buffer for initialization vector */ + Desbuf tbuf; /* temp buffer for initialization vector */ register int n; /* number of bytes actually read */ register int c; /* used to test for EOF */ int inverse = 1; /* 0 to encrypt, 1 to decrypt */ @@ -400,11 +394,11 @@ /* * do the transformation */ - MEMCPY(BUFFER(ibuf), BUFFER(msgbuf), 8); + MEMCPY(BUFFER(tbuf), BUFFER(msgbuf), 8); DES_XFORM(UBUFFER(msgbuf)); for (c = 0; c < 8; c++) UCHAR(msgbuf, c) ^= UCHAR(ivec, c); - MEMCPY(BUFFER(ivec), BUFFER(ibuf), 8); + MEMCPY(BUFFER(ivec), BUFFER(tbuf), 8); /* * if the last one, handle it specially */ Index: ed/ed.h =================================================================== RCS file: /home/ncvs/src/bin/ed/ed.h,v retrieving revision 1.14 diff -u -r1.14 ed.h --- ed/ed.h 2001/05/29 18:03:13 1.14 +++ ed/ed.h 2001/07/01 14:29:06 @@ -200,7 +200,7 @@ int close_sbuf __P((void)); int copy_lines __P((long)); int delete_lines __P((long, long)); -void des_error __P((char *)); +void des_error __P((const char *)); int display_lines __P((long, long, int)); line_t *dup_line_node __P((line_t *)); int exec_command __P((void)); @@ -236,7 +236,7 @@ int join_lines __P((long, long)); int mark_line_node __P((line_t *, int)); int move_lines __P((long)); -line_t *next_active_node __P(()); +line_t *next_active_node __P((void)); long next_addr __P((void)); int open_sbuf __P((void)); char *parse_char_class __P((char *)); @@ -259,7 +259,7 @@ char *translit_text __P((char *, int, int, int)); void unmark_line_node __P((line_t *)); void unset_active_nodes __P((line_t *, line_t *)); -long write_file __P((char *, char *, long, long)); +long write_file __P((char *, const char *, long, long)); long write_stream __P((FILE *, long, long)); /* global buffers */ Index: ed/glbl.c =================================================================== RCS file: /home/ncvs/src/bin/ed/glbl.c,v retrieving revision 1.10 diff -u -r1.10 glbl.c --- ed/glbl.c 2000/10/16 07:06:35 1.10 +++ ed/glbl.c 2001/07/01 14:29:06 @@ -27,12 +27,8 @@ */ #ifndef lint -#if 0 -static char * const rcsid = "@(#)glob.c,v 1.1 1994/02/01 00:34:40 alm Exp"; -#else -static char * const rcsid = +static const char rcsid[] = "$FreeBSD: src/bin/ed/glbl.c,v 1.10 2000/10/16 07:06:35 brian Exp $"; -#endif #endif /* not lint */ #include <sys/types.h> @@ -210,7 +206,7 @@ /* next_active_node: return the next global-active line node */ line_t * -next_active_node() +next_active_node(void) { while (active_ptr < active_last && active_list[active_ptr] == NULL) active_ptr++; Index: ed/io.c =================================================================== RCS file: /home/ncvs/src/bin/ed/io.c,v retrieving revision 1.10 diff -u -r1.10 io.c --- ed/io.c 1999/08/27 23:14:14 1.10 +++ ed/io.c 2001/07/01 14:29:06 @@ -26,12 +26,8 @@ */ #ifndef lint -#if 0 -static char * const rcsid = "@(#)io.c,v 1.1 1994/02/01 00:34:41 alm Exp"; -#else -static char * const rcsid = +static const char rcsid[] = "$FreeBSD: src/bin/ed/io.c,v 1.10 1999/08/27 23:14:14 peter Exp $"; -#endif #endif /* not lint */ #include "ed.h" @@ -157,7 +153,7 @@ long write_file(fn, mode, n, m) char *fn; - char *mode; + const char *mode; long n; long m; { Index: ed/main.c =================================================================== RCS file: /home/ncvs/src/bin/ed/main.c,v retrieving revision 1.20 diff -u -r1.20 main.c --- ed/main.c 2001/06/28 22:06:27 1.20 +++ ed/main.c 2001/07/01 14:29:06 @@ -27,18 +27,10 @@ */ #ifndef lint -static char * const copyright = -"@(#) Copyright (c) 1993 Andrew Moore, Talke Studio. \n\ - All rights reserved.\n"; -#endif /* not lint */ - -#ifndef lint -#if 0 -static char * const rcsid = "@(#)main.c,v 1.1 1994/02/01 00:34:42 alm Exp"; -#else -static char * const rcsid = +static const char copyright[] = + "@(#) Copyright (c) 1993 Andrew Moore, Talke Studio. All rights reserved."; +static const char rcsid[] = "$FreeBSD: src/bin/ed/main.c,v 1.20 2001/06/28 22:06:27 dd Exp $"; -#endif #endif /* not lint */ /* @@ -100,8 +92,8 @@ long current_addr; /* current address in editor buffer */ long addr_last; /* last address in editor buffer */ int lineno; /* script line number */ -char *prompt; /* command-line prompt */ -char *dps = "*"; /* default command-line prompt */ +const char *prompt; /* command-line prompt */ +const char *dps = "*"; /* default command-line prompt */ const char usage[] = "usage: %s [-] [-sx] [-p string] [name]\n"; @@ -1385,12 +1377,13 @@ { char *hup = NULL; /* hup filename */ char *s; + char ed_hup[] = "ed.hup"; int n; if (!sigactive) quit(1); sigflags &= ~(1 << (signo - 1)); - if (addr_last && write_file("ed.hup", "w", 1, addr_last) < 0 && + if (addr_last && write_file(ed_hup, "w", 1, addr_last) < 0 && (s = getenv("HOME")) != NULL && (n = strlen(s)) + 8 <= PATH_MAX && /* "ed.hup" + '/' */ (hup = (char *) malloc(n + 10)) != NULL) { Index: ed/re.c =================================================================== RCS file: /home/ncvs/src/bin/ed/re.c,v retrieving revision 1.16 diff -u -r1.16 re.c --- ed/re.c 2001/05/29 18:03:14 1.16 +++ ed/re.c 2001/07/01 14:29:06 @@ -27,12 +27,8 @@ */ #ifndef lint -#if 0 -static char * const rcsid = "@(#)re.c,v 1.6 1994/02/01 00:34:43 alm Exp"; -#else -static char * const rcsid = +static const char rcsid[] = "$FreeBSD: src/bin/ed/re.c,v 1.16 2001/05/29 18:03:14 imp Exp $"; -#endif #endif /* not lint */ #include "ed.h" Index: ed/sub.c =================================================================== RCS file: /home/ncvs/src/bin/ed/sub.c,v retrieving revision 1.12 diff -u -r1.12 sub.c --- ed/sub.c 1999/08/27 23:14:15 1.12 +++ ed/sub.c 2001/07/01 14:29:06 @@ -27,12 +27,8 @@ */ #ifndef lint -#if 0 -static char * const rcsid = "@(#)sub.c,v 1.1 1994/02/01 00:34:44 alm Exp"; -#else -static char * const rcsid = +static const char rcsid[] = "$FreeBSD: src/bin/ed/sub.c,v 1.12 1999/08/27 23:14:15 peter Exp $"; -#endif #endif /* not lint */ #include "ed.h" Index: ed/undo.c =================================================================== RCS file: /home/ncvs/src/bin/ed/undo.c,v retrieving revision 1.9 diff -u -r1.9 undo.c --- ed/undo.c 1999/08/27 23:14:15 1.9 +++ ed/undo.c 2001/07/01 14:29:06 @@ -26,12 +26,8 @@ */ #ifndef lint -#if 0 -static char * const rcsid = "@(#)undo.c,v 1.1 1994/02/01 00:34:44 alm Exp"; -#else -static char * const rcsid = +static const char rcsid[] = "$FreeBSD: src/bin/ed/undo.c,v 1.9 1999/08/27 23:14:15 peter Exp $"; -#endif #endif /* not lint */ #include "ed.h" To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107011506.f61F6P904227>