History log of /openbsd-current/usr.bin/split/split.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.23 28-Nov-2021 deraadt

Stop using MAXBSIZE to eliminate sys/param.h including (which injects a
ton of namespace intrusion). Create local sizes, and refactor some code
along the way.
ok millert


# 1.22 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.21 31-Dec-2015 millert

Remove use of sysexits.h.


# 1.20 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.19 07-Oct-2015 deraadt

tame "stdio rpath wpath cpath" to support use of freopen() with "w"


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.18 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.17 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.16 20-Oct-2007 sobrado

an usage message should fit on a 80-column display

ok jmc@


# 1.15 25-Sep-2007 chl

handle empty strings returned by fgets

ok ray@


# 1.14 05-Sep-2007 millert

The rewritten newfile() algorithm introduced in rev 1.12 was
incorrect. This simpler version from Pete Honeyman passes all the
tests I thow at it. OK deraadt@ some time ago.


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.13 10-Aug-2006 millert

Check for int oflow w/ -b option and unit suffixes, make usage() __dead,
use ssize_t not long for read/write length. OK beck@


# 1.12 09-Aug-2006 millert

Add -a option as per single unix. Rewrote the code to generate
file names to be less blecherous, though it is still not pretty.
OK beck@, with man page help from jmc@


# 1.11 09-Aug-2006 jmc

- indicate that -b, -l, and -p are mutually exclusive
- tidy up the text somewhat
- make it clear that the original file is not changed

mostly this is based on a freebsd pr (33852),
submitted by gary w. swearingen


Revision tags: OPENBSD_3_9_BASE
# 1.10 07-Sep-2005 jmc

split.1:
add the relevant arguments to the options synopsis for -b and -l;
tidy up the formatting of [-b byte_count[k|m]];
make SYNOPSIS arg for -l match its description;

split.c:
sync usage();


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.9 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.8 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.7 08-Dec-2002 millert

GNU semantics say that if optstring begins with '-' then
each non-option shall be treated as arguments to option '\1'.

BSD getopt match '-' in optstring with a '-' on the command line.
This is used to support deprecated options like "su -" that would
otherwise prevent the use of getopt().

Resolving this simply requires that the leading '-' be moved somewhere
else (I moved it to the end of optstring) since position within
optstring is not meaningful.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE
# 1.6 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 04-Dec-1999 deraadt

oflow


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.4 04-Feb-1999 millert

From FreeBSD:
Add new option '-p pattern' for splitting files based on matching
lines in the file with a regular expression. Useful for e.g.
'cvs diff' output. Also compile cleanly with -Wall and use
defines from <sysexits.h>.


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.22 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.21 31-Dec-2015 millert

Remove use of sysexits.h.


# 1.20 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.19 07-Oct-2015 deraadt

tame "stdio rpath wpath cpath" to support use of freopen() with "w"


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.18 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.17 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.16 20-Oct-2007 sobrado

an usage message should fit on a 80-column display

ok jmc@


# 1.15 25-Sep-2007 chl

handle empty strings returned by fgets

ok ray@


# 1.14 05-Sep-2007 millert

The rewritten newfile() algorithm introduced in rev 1.12 was
incorrect. This simpler version from Pete Honeyman passes all the
tests I thow at it. OK deraadt@ some time ago.


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.13 10-Aug-2006 millert

Check for int oflow w/ -b option and unit suffixes, make usage() __dead,
use ssize_t not long for read/write length. OK beck@


# 1.12 09-Aug-2006 millert

Add -a option as per single unix. Rewrote the code to generate
file names to be less blecherous, though it is still not pretty.
OK beck@, with man page help from jmc@


# 1.11 09-Aug-2006 jmc

- indicate that -b, -l, and -p are mutually exclusive
- tidy up the text somewhat
- make it clear that the original file is not changed

mostly this is based on a freebsd pr (33852),
submitted by gary w. swearingen


Revision tags: OPENBSD_3_9_BASE
# 1.10 07-Sep-2005 jmc

split.1:
add the relevant arguments to the options synopsis for -b and -l;
tidy up the formatting of [-b byte_count[k|m]];
make SYNOPSIS arg for -l match its description;

split.c:
sync usage();


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.9 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.8 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.7 08-Dec-2002 millert

GNU semantics say that if optstring begins with '-' then
each non-option shall be treated as arguments to option '\1'.

BSD getopt match '-' in optstring with a '-' on the command line.
This is used to support deprecated options like "su -" that would
otherwise prevent the use of getopt().

Resolving this simply requires that the leading '-' be moved somewhere
else (I moved it to the end of optstring) since position within
optstring is not meaningful.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE
# 1.6 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 04-Dec-1999 deraadt

oflow


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.4 04-Feb-1999 millert

From FreeBSD:
Add new option '-p pattern' for splitting files based on matching
lines in the file with a regular expression. Useful for e.g.
'cvs diff' output. Also compile cleanly with -Wall and use
defines from <sysexits.h>.


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.21 31-Dec-2015 millert

Remove use of sysexits.h.


# 1.20 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.19 07-Oct-2015 deraadt

tame "stdio rpath wpath cpath" to support use of freopen() with "w"


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.18 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.17 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.16 20-Oct-2007 sobrado

an usage message should fit on a 80-column display

ok jmc@


# 1.15 25-Sep-2007 chl

handle empty strings returned by fgets

ok ray@


# 1.14 05-Sep-2007 millert

The rewritten newfile() algorithm introduced in rev 1.12 was
incorrect. This simpler version from Pete Honeyman passes all the
tests I thow at it. OK deraadt@ some time ago.


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.13 10-Aug-2006 millert

Check for int oflow w/ -b option and unit suffixes, make usage() __dead,
use ssize_t not long for read/write length. OK beck@


# 1.12 09-Aug-2006 millert

Add -a option as per single unix. Rewrote the code to generate
file names to be less blecherous, though it is still not pretty.
OK beck@, with man page help from jmc@


# 1.11 09-Aug-2006 jmc

- indicate that -b, -l, and -p are mutually exclusive
- tidy up the text somewhat
- make it clear that the original file is not changed

mostly this is based on a freebsd pr (33852),
submitted by gary w. swearingen


Revision tags: OPENBSD_3_9_BASE
# 1.10 07-Sep-2005 jmc

split.1:
add the relevant arguments to the options synopsis for -b and -l;
tidy up the formatting of [-b byte_count[k|m]];
make SYNOPSIS arg for -l match its description;

split.c:
sync usage();


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.9 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.8 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.7 08-Dec-2002 millert

GNU semantics say that if optstring begins with '-' then
each non-option shall be treated as arguments to option '\1'.

BSD getopt match '-' in optstring with a '-' on the command line.
This is used to support deprecated options like "su -" that would
otherwise prevent the use of getopt().

Resolving this simply requires that the leading '-' be moved somewhere
else (I moved it to the end of optstring) since position within
optstring is not meaningful.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE
# 1.6 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 04-Dec-1999 deraadt

oflow


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.4 04-Feb-1999 millert

From FreeBSD:
Add new option '-p pattern' for splitting files based on matching
lines in the file with a regular expression. Useful for e.g.
'cvs diff' output. Also compile cleanly with -Wall and use
defines from <sysexits.h>.


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision