History log of /freebsd-current/usr.bin/m4/main.c
Revision Date Author Comments
# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 6c9ed64c 21-Jun-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

m4: Add -G option which reverses -g.

This matches GNU m4's -G / --traditional option, and although BSD m4 in non-GNU mode is not exactly identical to GNU mode in traditional mode, it's close enough.

Sponsored by: Klara, Inc.
Reviewed by: kevans, imp
Differential Revision: https://reviews.freebsd.org/D40697


# 47b32f8f 21-Jun-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

m4: Support long options.

The option names are identical to those of the equivalent options in GNU m4, except of course for --gnu which does not exist in GNU m4.

While here, make the argument to -d / --debug optional, with the same default behavior as in GNU m4, and document it properly.

Sponsored by: Klara, Inc.
Reviewed by: kevans, imp
Differential Revision: https://reviews.freebsd.org/D40694


# c560b67c 09-Sep-2019 Baptiste Daroussin <bapt@FreeBSD.org>

Import from OpenBSD: -E flag

Add -E flag (make warnings fatal), following the behavior of GNU m4 1.4.9+

Help and direction millert@ espie@ anton@ deraadt@

ok espie@

Obtained from: OpenBSD


# 8a16b7a1 20-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

General further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.


# 46ef9581 21-Nov-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Synchronize m4(1) with OpenBSD


# 31129d4f 18-May-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Synchronize with OpenBSD

Obtained from: OpenBSD


# 88497f0c 27-Jul-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Sync with OpenBSD
This brings:
- check for integer overflows in custom allocs
- fix potential integer overflows in memory allocation
- annotate regexp error messages with source string
- better error handling in mkstemp/unlink/fdopen logic


# 8ce3644c 03-May-2013 Jung-uk Kim <jkim@FreeBSD.org>

Reduce diff with upstream.


# eccad222 20-Oct-2012 Ed Schouten <ed@FreeBSD.org>

More -Wmissing-variable-declarations fixes.

In addition to adding missing `static' keywords:
- bin/dd: Pull in `extern.h' to guarantee consistency with source file.
- libexec/rpc.rusersd: Move shared globals into an extern.h.
- libexec/talkd: Move `debug' and `hostname' into extern.h.
- usr.bin/cksum: Put counters in extern.h, as they are used by ckdist/mtree.
- usr.bin/m4: Move `end_result' into extern.h.
- usr.sbin/services_mkdb: Move shared globals into an extern.h.


# fb3f3d7c 15-Apr-2012 Baptiste Daroussin <bapt@FreeBSD.org>

Improve m4 compatibility with GNU m4 extension ** (exponent)

Submitted by: Marc Espie (espie@OpenBSD.org)
Approved by: des@ (mentor)


# a841e1eb 28-Nov-2011 Baptiste Daroussin <bapt@FreeBSD.org>

Synchronize with laster version of m4 from OpenBSD and NetBSD
This bring better compatibility with gnum4

Reviewed by: cognet
Approved by: cognet
Obtained from: OpenBSD, NetBSD


# df6dd693 06-Nov-2011 Ed Schouten <ed@FreeBSD.org>

Mark global functions and/or variables in m4(1) static where possible.

This allows compilers and static analyzers to more thorough analysis.


# 1e2070ab 16-Oct-2011 Ed Schouten <ed@FreeBSD.org>

Fix build of m4 with WARNS=6.

Change the parser; rename `exp' to `exponent' not to collide with exp(3).


# da52b4ca 11-Dec-2010 Joel Dahl <joel@FreeBSD.org>

Remove the advertising clause from UCB copyrighted files in usr.bin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Also add $FreeBSD$ to a few files to keep svn happy.

Discussed with: imp, rwatson


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# f03b2751 16-Aug-2004 Tim J. Robbins <tjr@FreeBSD.org>

Store a pointer to "null" in struct ndblock's defn member instead of a
duplicate allocated on the heap; the address defn points to is significant,
and is checked against the address of "null" in certain conditionals.

PR: 59883
MFC after: 1 week


# 338b72d9 11-Jul-2004 Tim J. Robbins <tjr@FreeBSD.org>

Respect locale settings from the environment.


# c624d24d 03-Sep-2002 Juli Mallett <jmallett@FreeBSD.org>

Die on -D=foo, when parsing options - we can't let someone define (nil).

MFC after: 3 days


# 2c4acd2f 14-Jul-2002 Juli Mallett <jmallett@FreeBSD.org>

Kill extraneous whitespace.


# 010b4b09 13-Jul-2002 Juli Mallett <jmallett@FreeBSD.org>

Add a default case to the getopt(3) switch, remove a blank line nearby.


# d1fea89c 13-Jul-2002 Juli Mallett <jmallett@FreeBSD.org>

Functions declared as <type> <identifier>(<nil>) should be declared as
<type> <identifier>(<void-type>) in ANSI C.


# 7b6f658c 13-Jul-2002 Juli Mallett <jmallett@FreeBSD.org>

Remove prototype for main().


# d40d348c 20-Jun-2002 Juli Mallett <jmallett@FreeBSD.org>

Cast sp to uintptr_t when doing a compare of it to STACKMAX which is a size_t.

This messes up some indentation in mdef.h for some macros.


# 456fc9e5 26-May-2002 Tim J. Robbins <tjr@FreeBSD.org>

If a file operand cannot be processed, go on to process any remaining files
but exit non-zero.


# 90432ef8 03-May-2002 Juli Mallett <jmallett@FreeBSD.org>

Revert vendor identifiers, and #if 0 what is #if 0/#else for OpenBSD.

Add __FBSDID() properly.

Requested by: bde, mike


# 8f12fc04 01-May-2002 Juli Mallett <jmallett@FreeBSD.org>

Remove redundant declarations of getopt(3) externals (since <unistd.h> does
take care of them), and add __FreeBSD__ to the defined() checks for the
_PATH_DIVNAME.


# bd2bfb58 01-May-2002 Juli Mallett <jmallett@FreeBSD.org>

Merge local changes again, against ANSIfied m4(1).


# 4d9bfb4d 01-May-2002 Juli Mallett <jmallett@FreeBSD.org>

Import OpenBSD m4(1) as of April 26. Mostly ANSIfication changes.


# ccc5b4e6 19-Apr-2002 Juli Mallett <jmallett@FreeBSD.org>

Crank WARNS.

Cast sizeof() to (int), as it's being compared against an int, not a size_t.
If i is changed to a size_t, it means the logic must be slightly changed later
in the flow, where --i is checked to be >= 0. I am not sure I want to make a
logic change to account for clearing up a warning, when an aesthetic one will
keep from modifying the logic.

Other harmless casts, that I think I've made in the right directions.

Make gpbc() an inline function, rather than an obfuscated macro, make its
scratch space local, rather than global. The previous macro used a dirty
hack (logical AND in place of a conditional) which would lead GCC to throw
a fit (rightly so) as the logical check, as well as the incrementation of
a variable, were not used for anything.

const'ify a few places where gcc3 yells. xstrdup() some global consts in
places where we xstrdup() when not using consts, but tried to assign them
to non-consts before.

Don't use execv(2) if we don't have the kind of arguments it wants.

Reviewed by: asmodai obrien tjr
Submitted by: tjr (a gcc3 build log)


# acc9d408 19-Apr-2002 Juli Mallett <jmallett@FreeBSD.org>

Bring OpenBSD m4(1) off of the OPENBSD vendor branch, and add the -s option,
$FreeBSD$ identifiers, and fix initialisation to stderr to happen in a function
as stderr is not the same in CURRENT as in OpenBSD.

Reviewed by: obrien


# b1ea3d46 17-Apr-2002 Juli Mallett <jmallett@FreeBSD.org>

This adds support for -s to the m4(1) utility, which causes #line directives
to be emitted as per the C preprocessor. It updates the manual page in
regards to standards accordingly.

PR: standards/36075
Submitted by: tjr
Reviewed by: mike
MFC after: 1 week


# e3d86717 16-Feb-2002 Juli Mallett <jmallett@FreeBSD.org>

Import OpenBSD m4 as of today.


# de9b3b90 24-Jul-2001 David E. O'Brien <obrien@FreeBSD.org>

Remove the local basename in favor of the libc version.
Remove xmalloc and xstrdup and do the error checking at the place of use.


# 164c01f0 16-Apr-2001 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Clean up temporary file(s) and directory when m4 exits without falling
through main() (e.g., signals or calls to errx()).

PR: conf/25715


# b88a90fd 28-Feb-2001 John Hay <jhay@FreeBSD.org>

The secure temporary directory is always created, so always remove it.


# 4f377e65 22-Nov-2000 Kris Kennaway <kris@FreeBSD.org>

Create temporary files in a secure directory, instead of using multiple
filenames based on a single invocation of mktemp() in /tmp, which is
easily predictable after the first one.

Audited by: markm


# 62f882d6 04-Sep-2000 Warner Losh <imp@FreeBSD.org>

getopt and friends are declared in <unistd.h>
getopt returns -1 not EOF.


# c3aac50f 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 95105358 23-Jul-1997 Philippe Charnier <charnier@FreeBSD.org>

Use err(3) instead of local redefinition. Remove progname.


# 1c8af878 28-Mar-1997 Warner Losh <imp@FreeBSD.org>

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


# 7799f52a 30-May-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove trailing whitespace.


# 7c5eeb39 18-Dec-1994 Andrey A. Chernov <ache@FreeBSD.org>

Make m4 more 8bit clean.
Don't use is*(EOF)
This fix core dump when LANG setted to 8bit wide charset
and ENABLE_STARTUP_LOCALE


# 9b50d902 26-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite Usr.bin Sources