From 5bd834027d4c6b520ee058d753b479e31e6faf26 Mon Sep 17 00:00:00 2001 From: Robert Millan Date: Fri, 17 Mar 2006 19:55:21 +0000 Subject: Add getprogname and setprogname --- ChangeLog | 7 +++++++ Makefile | 2 +- Versions | 1 + include/bsd/stdlib.h | 7 ++++++- src/progname.c | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 src/progname.c diff --git a/ChangeLog b/ChangeLog index 0c7aaeb..814f041 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-03-17 Robert Millan + + * src/progname.c: New file. + * include/bsd/stdlib.h: Add {get,set}progname declarations. + * Makefile (LIB_SRCS): Add 'progname.c'. + * Versions: Add getprogname and setprogname. + 2006-02-15 Guillem Jover * include/bsd/cdefs.h: Disable __unused, it conflicts with a struct diff --git a/Makefile b/Makefile index eea93c2..e84f454 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ # LIB_SRCS := arc4random.c bsd_getopt.c err.c fgetln.c inet_net_pton.c \ - strlcat.c strlcpy.c md5c.c fmtcheck.c + strlcat.c strlcpy.c md5c.c fmtcheck.c progname.c LIB_SRCS := $(patsubst %,src/%,$(LIB_SRCS)) LIB_INCLUDES := err.h getopt.h ip_icmp.h random.h queue.h md5.h string.h \ diff --git a/Versions b/Versions index 318bbc3..77d3f29 100644 --- a/Versions +++ b/Versions @@ -7,6 +7,7 @@ LIBBSD_0.0 { fgetwln; fmtcheck; inet_net_pton; + getprogname; setprogname; strlcpy; strlcat; MD5Init; diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h index ee358b6..25c37e2 100644 --- a/include/bsd/stdlib.h +++ b/include/bsd/stdlib.h @@ -1,6 +1,11 @@ #ifndef LIBBSD_STDLIB_H #define LIBBSD_STDLIB_H -const char *fmtcheck(const char *, const char *); +#include + +const char *fmtcheck (const char *, const char *); + +char *getprogname (); +void setprogname (char *); #endif diff --git a/src/progname.c b/src/progname.c new file mode 100644 index 0000000..c74d675 --- /dev/null +++ b/src/progname.c @@ -0,0 +1,36 @@ +/* Copyright (C) 2006 Robert Millan + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ + +/* + Rejected in glibc (http://sourceware.org/ml/libc-alpha/2006-03/msg00125.html) +*/ + +#include + +static char *__progname; + +char * +getprogname (); +{ + return __progname; +} + +void +setprogname (char *new); +{ + __progname = new; +} -- cgit v1.2.3