Skip to content

Commit

Permalink
Add 'contrib/unifdef/' from commit '0da44885831dc0a43c4ca6ff04a243099…
Browse files Browse the repository at this point in the history
…3cc0a80'

git-subtree-dir: contrib/unifdef
git-subtree-mainline: 3b7ffac
git-subtree-split: 0da4488
  • Loading branch information
dag-erling committed Aug 21, 2023
2 parents 3b7ffac + 0da4488 commit fb3ef04
Show file tree
Hide file tree
Showing 442 changed files with 6,545 additions and 0 deletions.
7 changes: 7 additions & 0 deletions contrib/unifdef/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Changelog
unifdef
unifdef.exe
unifdef.txt
unifdef-*
version.h
version.sh
59 changes: 59 additions & 0 deletions contrib/unifdef/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
language: c

sudo: false

os:
- linux
- osx

compiler:
- gcc
- clang

matrix:
include:
## Ubuntu 14.04 Trusty (beta), sudo required!
- os: linux
dist: trusty
sudo: required
compiler: gcc
env: TRUSTY="yes"
- os: linux
dist: trusty
sudo: required
compiler: clang
env: TRUSTY="yes"
## MinGW / wine
- os: linux
sudo: required
compiler: i586-mingw32msvc-gcc
env: BUILD_MINGW="yes"
allow_failures:
- compiler: i586-mingw32msvc-gcc

install:
- env | grep -v "encrypted" | LC_ALL=C sort
- if test "${BUILD_MINGW}" = "yes"; then
sudo apt-get -qq update &&
sudo apt-get -qq install wine;
fi

script:
- if test "${BUILD_MINGW}" != "yes"; then
make &&
make test &&
make release;
else
export CC=i586-mingw32msvc-gcc;
echo -e '#!/bin/bash\nexec wine $0.exe "$@"' > unifdef;
chmod ugo+x unifdef;
make version.h &&
make -f win32/Makefile.mingw test;
fi

branches:
only:
- master
- next
- /^travis.*/
- /^tmp.*/
85 changes: 85 additions & 0 deletions contrib/unifdef/COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
unifdef copyright licence
-------------------------

All files in this package are distributed under the two-clause BSD
copyright licence, except for the manual page unifdef.1 and the
portability support code in the FreeBSD subdirectory, which all have
a three-clause BSD copyright licence.

Unifdef was derived from software contributed to Berkeley by Dave
Yost. It was rewritten to support ANSI C by Tony Finch. The original
version of unifdef.c carried the four-clause BSD copyright licence.
None of its code remains in this version (though some of the names
remain) so it now carries the more liberal two-clause licence.

Unless otherwise stated, the files in this package are:

Copyright (c) 2002 - 2020 Tony Finch <[email protected]>

unifdefall.sh is:

Copyright (c) 2002 - 2013 Tony Finch <[email protected]>
Copyright (c) 2009 - 2010 Jonathan Nieder <[email protected]>

Some files in the tests directory are:

Copyright 2004, 2008 Bob Proulx <[email protected]>

The two-clause BSD copyright licence applying to all the above files is:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
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.

The three-clause BSD copyright licence for the manual page unifdef.1
and the portability support code from FreeBSD is below. The fourth
advertising clause that used to appear between clauses 2 and 3 was
rescinded by the University of California Berkeley in 1999.
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Copyright (c) 1985 - 1994
The Regents of the University of California. All rights reserved.
Copyright (c) 2002 - 2012 Tony Finch <[email protected]>. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
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.

- end -
138 changes: 138 additions & 0 deletions contrib/unifdef/FreeBSD/err.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
/*-
* Copyright (c) 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* 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.
*/

#include "unifdef.h"

void
err(int eval, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
verrc(eval, errno, fmt, ap);
va_end(ap);
}

void
verr(int eval, const char *fmt, va_list ap)
{
verrc(eval, errno, fmt, ap);
}

void
errc(int eval, int code, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
verrc(eval, code, fmt, ap);
va_end(ap);
}

void
verrc(int eval, int code, const char *fmt, va_list ap)
{
fprintf(stderr, "%s: ", _getprogname());
if (fmt != NULL) {
vfprintf(stderr, fmt, ap);
fprintf(stderr, ": ");
}
fprintf(stderr, "%s\n", strerror(code));
exit(eval);
}

void
errx(int eval, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
verrx(eval, fmt, ap);
va_end(ap);
}

void
verrx(int eval, const char *fmt, va_list ap)
{
fprintf(stderr, "%s: ", _getprogname());
if (fmt != NULL)
vfprintf(stderr, fmt, ap);
fprintf(stderr, "\n");
exit(eval);
}

void
warn(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vwarnc(errno, fmt, ap);
va_end(ap);
}

void
vwarn(const char *fmt, va_list ap)
{
vwarnc(errno, fmt, ap);
}

void
warnc(int code, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vwarnc(code, fmt, ap);
va_end(ap);
}

void
vwarnc(int code, const char *fmt, va_list ap)
{
fprintf(stderr, "%s: ", _getprogname());
if (fmt != NULL) {
vfprintf(stderr, fmt, ap);
fprintf(stderr, ": ");
}
fprintf(stderr, "%s\n", strerror(code));
}

void
warnx(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vwarnx(fmt, ap);
va_end(ap);
}

void
vwarnx(const char *fmt, va_list ap)
{
fprintf(stderr, "%s: ", _getprogname());
if (fmt != NULL)
vfprintf(stderr, fmt, ap);
fprintf(stderr, "\n");
}
Loading

0 comments on commit fb3ef04

Please sign in to comment.