From owner-freebsd-standards Sun Mar 24 11:40: 7 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 79A5E37B404 for ; Sun, 24 Mar 2002 11:40:04 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2OJe4s10755; Sun, 24 Mar 2002 11:40:04 -0800 (PST) (envelope-from gnats) Date: Sun, 24 Mar 2002 11:40:04 -0800 (PST) Message-Id: <200203241940.g2OJe4s10755@freefall.freebsd.org> To: freebsd-standards@FreeBSD.org Cc: From: Garance A Drosihn Subject: Re: standards/36243: pr is missing P1003.1-2001 -f and -p options Reply-To: Garance A Drosihn Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG The following reply was made to PR standards/36243; it has been noted by GNATS. From: Garance A Drosihn To: "Tim J. Robbins" , FreeBSD-gnats-submit@FreeBSD.ORG Cc: Subject: Re: standards/36243: pr is missing P1003.1-2001 -f and -p options Date: Sun, 24 Mar 2002 14:31:48 -0500 At 1:01 PM +1100 3/24/02, Tim J. Robbins wrote: > >Number: 36243 >>Category: standards > >Synopsis: pr is missing P1003.1-2001 -f and -p options Note that this would also close http://www.FreeBSD.org/cgi/query-pr.cgi?pr=bin/7860 -- Garance Alistair Drosehn = gad@eclipse.acs.rpi.edu Senior Systems Programmer or gad@freebsd.org Rensselaer Polytechnic Institute or drosih@rpi.edu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Mon Mar 25 18:49:11 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 3B8F437B417; Mon, 25 Mar 2002 18:49:08 -0800 (PST) Received: (from jmallett@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2Q2n8A93104; Mon, 25 Mar 2002 18:49:08 -0800 (PST) (envelope-from jmallett) Date: Mon, 25 Mar 2002 18:49:08 -0800 (PST) From: Message-Id: <200203260249.g2Q2n8A93104@freefall.freebsd.org> To: jmallett@FreeBSD.org, freebsd-standards@FreeBSD.org, jmallett@FreeBSD.org Subject: Re: standards/36072: P1003.1-2001 join(1) -o 0 option Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Synopsis: P1003.1-2001 join(1) -o 0 option Responsible-Changed-From-To: freebsd-standards->jmallett Responsible-Changed-By: jmallett Responsible-Changed-When: Mon Mar 25 18:43:30 PST 2002 Responsible-Changed-Why: Over to me. http://www.freebsd.org/cgi/query-pr.cgi?pr=36072 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Wed Mar 27 0:35:32 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 02F0A37B416; Wed, 27 Mar 2002 00:35:30 -0800 (PST) Received: (from jmallett@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2R8ZUJ41130; Wed, 27 Mar 2002 00:35:30 -0800 (PST) (envelope-from jmallett) Date: Wed, 27 Mar 2002 00:35:30 -0800 (PST) From: Message-Id: <200203270835.g2R8ZUJ41130@freefall.freebsd.org> To: jmallett@FreeBSD.org, freebsd-standards@FreeBSD.org, jmallett@FreeBSD.org Subject: Re: standards/36243: pr is missing P1003.1-2001 -f and -p options Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Synopsis: pr is missing P1003.1-2001 -f and -p options Responsible-Changed-From-To: freebsd-standards->jmallett Responsible-Changed-By: jmallett Responsible-Changed-When: Wed Mar 27 00:34:52 PST 2002 Responsible-Changed-Why: Over to me. http://www.freebsd.org/cgi/query-pr.cgi?pr=36243 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Wed Mar 27 1:20:17 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 1FEB637B405 for ; Wed, 27 Mar 2002 01:20:02 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2R9K2K53874; Wed, 27 Mar 2002 01:20:02 -0800 (PST) (envelope-from gnats) Date: Wed, 27 Mar 2002 01:20:02 -0800 (PST) Message-Id: <200203270920.g2R9K2K53874@freefall.freebsd.org> To: freebsd-standards@FreeBSD.org Cc: From: "Tim J. Robbins" Subject: Re: standards/36191: P1003.1-2001 csplit utility Reply-To: "Tim J. Robbins" Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG The following reply was made to PR standards/36191; it has been noted by GNATS. From: "Tim J. Robbins" To: Stefan Farfeleder Cc: freebsd-gnats-submit@FreeBSD.ORG Subject: Re: standards/36191: P1003.1-2001 csplit utility Date: Wed, 27 Mar 2002 20:06:41 +1100 On Tue, Mar 26, 2002 at 08:07:20PM +0100, Stefan Farfeleder wrote: > According to P1003.1-2001 '+' is optional. > Why is a negative offset a 'bad offset'? Thanks for pointing these out. > > X if (sufflen + strlen(prefix) >= PATH_MAX) > > X errx(1, "name too long"); > > It might be better to check this for each file. I've decided to do what GNU csplit does, and stop making output files once the maximum number is reached. The standard isn't clear about this. > The improvement posted by Brian F. Feldman (and reposted by you as a > patch) has a bug: > > >+ snprintf(currfile, sizeof(currfile), "%s%0*ld", prefix, sufflen, > >+ nfiles); > > >+ snprintf(fnbuf, sizeof(fnbuf), "%s%0*ld", prefix, sufflen, i); > > sufflen has type long, but '*' wants an int. Fixed. Here is a new patch incorporating fixes for the problems you found. --- csplit.c 2002/03/23 03:36:26 1.18 +++ csplit.c 2002/03/27 09:01:24 1.21 @@ -44,7 +44,7 @@ #include __FBSDID("$FreeBSD$"); -__RCSID("$Id: csplit.c,v 1.18 2002/03/23 03:36:26 tim Exp $"); +__RCSID("$Id: csplit.c,v 1.21 2002/03/27 09:01:24 tim Exp $"); #include @@ -80,6 +80,7 @@ long lineno; /* Current line number in input file */ long reps; /* Number of repetitions for this pattern */ long nfiles; /* Number of files output so far */ +long maxfiles; /* Maximum number of files we can create */ char currfile[PATH_MAX]; /* Current output file */ const char *infn; /* Name of the input file */ FILE *infile; /* Input file handle */ @@ -93,7 +94,7 @@ { FILE *fp; - snprintf(currfile, sizeof(currfile), "%s%0*ld", prefix, sufflen, + snprintf(currfile, sizeof(currfile), "%s%0*ld", prefix, (int)sufflen, nfiles); if ((fp = fopen(currfile, "w+")) == NULL) err(1, "%s", currfile); @@ -113,7 +114,8 @@ return; for (i = 0; i < nfiles; i++) { - snprintf(fnbuf, sizeof(fnbuf), "%s%0*ld", prefix, sufflen, i); + snprintf(fnbuf, sizeof(fnbuf), "%s%0*ld", prefix, + (int)sufflen, i); unlink(fnbuf); } } @@ -186,7 +188,7 @@ errx(1, "can't read overflowed output"); if (fseek(ofp, -(long)nread, SEEK_CUR) != 0) err(1, "%s", currfile); - for (i = 0; i < nread; i++) + for (i = 1; i <= nread; i++) if (buf[nread - i] == '\n' && n-- == 0) break; } while (n > 0); @@ -221,11 +223,9 @@ *pofs++ = '\0'; /* point to offset from regexp, zap trailing char */ if (*pofs != '\0') { - if (*pofs != '+' && *pofs != '-') - errx(1, "%s: bad offset", pofs); errno = 0; ofs = strtol(pofs, &ep, 10); - if (ofs < 0 || *ep != '\0' || errno != 0) + if (*ep != '\0' || errno != 0) errx(1, "%s: bad offset", pofs); } else ofs = 0; @@ -296,7 +296,7 @@ if (lastline <= lineno) errx(1, "%s: can't go backwards", expr); - for (;;) { + while (nfiles < maxfiles - 1) { ofp = newfile(); while (lineno + 1 != lastline) if ((p = getline()) == NULL || fputs(p, ofp) != 0) @@ -318,6 +318,7 @@ char *ep, *p; FILE *ofp; int ch; + long i, n; kflag = sflag = 0; prefix = "xx"; @@ -369,7 +370,15 @@ truncofs = 0; overfile = NULL; - while ((expr = *argv++) != NULL) { + for (maxfiles = 1, i = 0; i < sufflen; i++) { + n = maxfiles; + maxfiles *= 10; + if (maxfiles / 10 != n) + errx(1, "%ld: suffix too long (limit %ld)", + sufflen, i); + } + + while (nfiles < maxfiles - 1 && (expr = *argv++) != NULL) { /* Look ahead & see if this pattern has any repetitions */ if (*argv != NULL && **argv == '{') { errno = 0; @@ -384,7 +393,7 @@ /* Regular expression copy or ignore */ do do_rexp(expr); - while (reps-- != 0); + while (reps-- != 0 && nfiles < maxfiles - 1); } else if (isdigit(*expr)) do_lineno(expr); else To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Wed Mar 27 6:10:12 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 74A4637B41A for ; Wed, 27 Mar 2002 06:10:03 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2REA3l38144; Wed, 27 Mar 2002 06:10:03 -0800 (PST) (envelope-from gnats) Date: Wed, 27 Mar 2002 06:10:03 -0800 (PST) Message-Id: <200203271410.g2REA3l38144@freefall.freebsd.org> To: freebsd-standards@FreeBSD.org Cc: From: Stefan Farfeleder Subject: Re: standards/36191: P1003.1-2001 csplit utility Reply-To: Stefan Farfeleder Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG The following reply was made to PR standards/36191; it has been noted by GNATS. From: Stefan Farfeleder To: "Tim J. Robbins" Cc: freebsd-gnats-submit@FreeBSD.ORG Subject: Re: standards/36191: P1003.1-2001 csplit utility Date: Wed, 27 Mar 2002 15:07:51 +0100 This patch fixes/changes these things (based on rev 1.21): * Posix says: ``An error shall be reported if an operand does not reference a line between the current position and the end of the file.'' csplit now reports "out of range" if EOF is found before the line it is looking for. * The computation of 10 ** sufflen does not used signed overflow. * There's a single call to ftell, all others are ftello. I think this was a typo. Issues to be resolved: * Posix requires removal of output files on SIGHUP, SIGINT and SIGTERM. A simple handler calling cleanup() would do this. [Is there any danger in calling snprintf() from a signal handler?] * I think a matching re on the very first line must create an empty file xx00. Stefan ---snip--- --- csplit.c.orig Wed Mar 27 13:53:45 2002 +++ csplit.c Wed Mar 27 14:41:07 2002 @@ -250,6 +250,9 @@ first = 0; } + if (p == NULL) + errx(1, "%s: out of range", expr); + if (ofs <= 0) { /* * Negative (or zero) offset: throw back any lines we should @@ -298,9 +301,12 @@ while (nfiles < maxfiles - 1) { ofp = newfile(); - while (lineno + 1 != lastline) - if ((p = getline()) == NULL || fputs(p, ofp) != 0) + while (lineno + 1 != lastline) { + if ((p = getline()) == NULL) + errx(1, "%ld: out of range", lastline); + if (fputs(p, ofp) != 0) break; + } if (!sflag) printf("%lld\n", (long long)ftello(ofp)); if (fclose(ofp) != 0) @@ -318,7 +324,7 @@ char *ep, *p; FILE *ofp; int ch; - long i, n; + long i; kflag = sflag = 0; prefix = "xx"; @@ -371,11 +377,10 @@ overfile = NULL; for (maxfiles = 1, i = 0; i < sufflen; i++) { - n = maxfiles; - maxfiles *= 10; - if (maxfiles / 10 != n) + if (maxfiles > LONG_MAX / 10) errx(1, "%ld: suffix too long (limit %ld)", sufflen, i); + maxfiles *= 10; } while (nfiles < maxfiles - 1 && (expr = *argv++) != NULL) { @@ -406,7 +411,7 @@ while ((p = getline()) != NULL && fputs(p, ofp) == 0) ; if (!sflag) - printf("%lld\n", (long long)ftell(ofp)); + printf("%lld\n", (long long)ftello(ofp)); if (fclose(ofp) != 0) err(1, "%s", currfile); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sat Mar 30 3: 0:27 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from freefall.freebsd.org (unknown [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7AA3B37B405 for ; Sat, 30 Mar 2002 03:00:15 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2UB0EW11994; Sat, 30 Mar 2002 03:00:14 -0800 (PST) (envelope-from gnats) Date: Sat, 30 Mar 2002 03:00:14 -0800 (PST) Message-Id: <200203301100.g2UB0EW11994@freefall.freebsd.org> To: freebsd-standards@FreeBSD.org Cc: From: "Tim J. Robbins" Subject: Re: standards/36191: P1003.1-2001 csplit utility Reply-To: "Tim J. Robbins" Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG The following reply was made to PR standards/36191; it has been noted by GNATS. From: "Tim J. Robbins" To: Stefan Farfeleder Cc: freebsd-gnats-submit@FreeBSD.ORG Subject: Re: standards/36191: P1003.1-2001 csplit utility Date: Sat, 30 Mar 2002 21:49:24 +1100 On Wed, Mar 27, 2002 at 06:10:03AM -0800, Stefan Farfeleder wrote: > * Posix says: ``An error shall be reported if an operand does not > reference a line between the current position and the end of the > file.'' > csplit now reports "out of range" if EOF is found before the line it > is looking for. > > * The computation of 10 ** sufflen does not used signed overflow. > > * There's a single call to ftell, all others are ftello. I think this > was a typo. Thanks for pointing these out. > Issues to be resolved: > > * Posix requires removal of output files on SIGHUP, SIGINT and SIGTERM. > A simple handler calling cleanup() would do this. [Is there any danger > in calling snprintf() from a signal handler?] > > * I think a matching re on the very first line must create an empty file > xx00. I have now fixed both of these. The manual page for sigaction doesn't say its safe to call snprintf() from a signal handler, but it still looks safe to do it. The alternatives are messy, less efficient, and would take longer to die after receiving the signal. --- csplit.c 2002/03/30 09:48:18 1.22 +++ csplit.c 2002/03/30 10:47:22 1.27 @@ -1,4 +1,4 @@ -/*- +*- * Copyright (c) 2002 Tim J. Robbins. * All rights reserved. * @@ -44,7 +44,7 @@ #include __FBSDID("$FreeBSD$"); -__RCSID("$Id: csplit.c,v 1.22 2002/03/30 09:48:18 tim Exp $"); +__RCSID("$Id: csplit.c,v 1.27 2002/03/30 10:47:22 tim Exp $"); #include @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -62,6 +63,7 @@ void do_lineno(const char *expr); void do_rexp(const char *expr); char *getline(void); +void handlesig(int sig); FILE *newfile(void); void toomuch(FILE *ofp, long n); void usage(void); @@ -87,6 +89,17 @@ FILE *overfile; /* Overflow file for toomuch() */ off_t truncofs; /* Offset this file should be truncated at */ int doclean; /* Should cleanup() remove output? */ +int doneregexp; /* Matched a regular expression pat. yet? */ + +void +handlesig(int sig) +{ + const char msg[] = "Caught fatal signal, cleaning up\n"; + + write(STDERR_FILENO, msg, sizeof(msg) - 1); + cleanup(); + _exit(2); +} /* Create a new output file */ FILE * @@ -245,13 +258,14 @@ while ((p = getline()) != NULL) { if (fputs(p, ofp) != 0) break; - if (!first && regexec(&cre, p, 0, NULL, 0) == 0) + if ((doneregexp || !first) && regexec(&cre, p, 0, NULL, 0) == 0) break; first = 0; } + doneregexp = 1; if (p == NULL) - errx(1, "%s: out of range", expr); + errx(1, "%s: no match", re); if (ofs <= 0) { /* @@ -369,12 +383,16 @@ if (!kflag) { doclean = 1; atexit(cleanup); + signal(SIGHUP, handlesig); + signal(SIGINT, handlesig); + signal(SIGTERM, handlesig); } lineno = 0; nfiles = 0; truncofs = 0; overfile = NULL; + doneregexp = 0; for (maxfiles = 1, i = 0; i < sufflen; i++) { if (maxfiles > LONG_MAX / 10) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sat Mar 30 21:20:16 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 9244737B41D for ; Sat, 30 Mar 2002 21:20:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2V5K1192445; Sat, 30 Mar 2002 21:20:01 -0800 (PST) (envelope-from gnats) Received: from treetop.robbins.dropbear.id.au (189.c.005.mel.iprimus.net.au [210.50.42.189]) by hub.freebsd.org (Postfix) with ESMTP id 8614037B405 for ; Sat, 30 Mar 2002 21:16:37 -0800 (PST) Received: from treetop.robbins.dropbear.id.au (localhost [127.0.0.1]) by treetop.robbins.dropbear.id.au (8.12.2/8.12.2) with ESMTP id g2V5LwMg003713 for ; Sun, 31 Mar 2002 15:21:58 +1000 (EST) (envelope-from tim@treetop.robbins.dropbear.id.au) Received: (from tim@localhost) by treetop.robbins.dropbear.id.au (8.12.2/8.12.2/Submit) id g2V5LvFr003712; Sun, 31 Mar 2002 15:21:57 +1000 (EST) Message-Id: <200203310521.g2V5LvFr003712@treetop.robbins.dropbear.id.au> Date: Sun, 31 Mar 2002 15:21:57 +1000 (EST) From: "Tim J. Robbins" Reply-To: "Tim J. Robbins" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: standards/36559: XSI is incorrect Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG >Number: 36559 >Category: standards >Synopsis: XSI is incorrect >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-standards >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Mar 30 21:20:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Tim J. Robbins >Release: FreeBSD 4.5-STABLE i386 >Organization: >Environment: System: FreeBSD treetop.robbins.dropbear.id.au 4.5-STABLE FreeBSD 4.5-STABLE #2: Sat Mar 30 20:10:51 EST 2002 tim@treetop.robbins.dropbear.id.au:/usr/obj/usr/src/sys/GENERIC i386 >Description: is effectively an alias for , which is not what the P1003.1-2001 standard asks for (strings.h is an XSI extension). >How-To-Repeat: strings.h shouldn't define NULL, for example: #include int main(void) { int NULL; NULL = 0; return (0); } >Fix: Here is a proper header: /* * This file is in the public domain. * * $FreeBSD$ */ #ifndef _STRINGS_H_ #define _STRINGS_H_ #include #include #ifdef _BSD_SIZE_T_ typedef _BSD_SIZE_T_ size_t; #undef _BSD_SIZE_T_ #endif __BEGIN_DECLS int bcmp(const void *, const void *, size_t); void bcopy(const void *, void *, size_t); void bzero(void *, size_t); int ffs(int); char *index(const char *, int); char *rindex(const char *, int); int strcasecmp(const char *, const char *); int strncasecmp(const char *, const char *, size_t); __END_DECLS /* * Previous versions of included . */ #if !defined(_XOPEN_SOURCE) || _XOPEN_SOURCE < 420L #include #endif #endif /* _STRINGS_H_ */ >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sat Mar 30 22:31: 8 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 3999F37B419; Sat, 30 Mar 2002 22:31:07 -0800 (PST) Received: (from mike@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2V6V7F03852; Sat, 30 Mar 2002 22:31:07 -0800 (PST) (envelope-from mike) Date: Sat, 30 Mar 2002 22:31:07 -0800 (PST) From: Message-Id: <200203310631.g2V6V7F03852@freefall.freebsd.org> To: mike@FreeBSD.org, freebsd-standards@FreeBSD.org, mike@FreeBSD.org Subject: Re: standards/36559: XSI is incorrect Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Synopsis: XSI is incorrect Responsible-Changed-From-To: freebsd-standards->mike Responsible-Changed-By: mike Responsible-Changed-When: Sat Mar 30 22:29:22 PST 2002 Responsible-Changed-Why: I've had a patch to do this for some time now. This PR is a good reminder. http://www.freebsd.org/cgi/query-pr.cgi?pr=36559 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message