summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--Makefile4
-rw-r--r--Versions1
-rw-r--r--bsd_getopt.c15
-rw-r--r--include/bsd/getopt.h4
5 files changed, 30 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f33a120..bfb38ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-02-13 Robert Millan <rmh@aybabtu.com>
+
+ Add bsd_getopt.
+ * bsd_getopt.c: New.
+ * include/bsd/getopt.h: New.
+ * Versions: Add bsd_getopt and optreset.
+ * Makefile: Add bsd_getopt.c and include/bsd/getopt.h.
+
2006-02-10 Robert Millan <rmh@aybabtu.com>
Add errc, warnc, verrc and vwarnc.
diff --git a/Makefile b/Makefile
index 5190820..a028db0 100644
--- a/Makefile
+++ b/Makefile
@@ -4,9 +4,9 @@
# $Id$
#
-LIB_SRCS = arc4random.c err.c fgetln.c inet_net_pton.c strlcat.c strlcpy.c md5c.c fmtcheck.c
+LIB_SRCS = arc4random.c bsd_getopt.c err.c fgetln.c inet_net_pton.c strlcat.c strlcpy.c md5c.c fmtcheck.c
-LIB_INCLUDES = include/bsd/err.h include/bsd/ip_icmp.h include/bsd/random.h include/bsd/queue.h include/bsd/md5.h include/bsd/string.h include/bsd/bsd.h include/bsd/stdlib.h
+LIB_INCLUDES = include/bsd/err.h include/bsd/getopt.h include/bsd/ip_icmp.h include/bsd/random.h include/bsd/queue.h include/bsd/md5.h include/bsd/string.h include/bsd/bsd.h include/bsd/stdlib.h
LIB_MANS = man/arc4random.3 man/strlcpy.3 man/fgetln.3 man/fmtcheck.3
diff --git a/Versions b/Versions
index 49e068c..318bbc3 100644
--- a/Versions
+++ b/Versions
@@ -1,6 +1,7 @@
LIBBSD_0.0 {
global:
arc4random;
+ bsd_getopt; optreset;
errc; warnc; verrc; vwarnc;
fgetln;
fgetwln;
diff --git a/bsd_getopt.c b/bsd_getopt.c
new file mode 100644
index 0000000..8245fc8
--- /dev/null
+++ b/bsd_getopt.c
@@ -0,0 +1,15 @@
+#include <bsd/getopt.h>
+
+int optreset = 0;
+
+int
+bsd_getopt (int argc, char **argv, char *shortopts)
+{
+ if (optreset == 1)
+ {
+ optreset = 0;
+ optind = 0;
+ }
+
+ return getopt (argc, argv, shortopts);
+}
diff --git a/include/bsd/getopt.h b/include/bsd/getopt.h
new file mode 100644
index 0000000..bf78f01
--- /dev/null
+++ b/include/bsd/getopt.h
@@ -0,0 +1,4 @@
+#include <getopt.h>
+extern int optreset;
+
+int bsd_getopt (int, char **, char *);