summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkgtools/libnbcompat/Makefile4
-rw-r--r--pkgtools/libnbcompat/files/config.h.in8
-rwxr-xr-xpkgtools/libnbcompat/files/configure10
-rw-r--r--pkgtools/libnbcompat/files/configure.ac9
-rw-r--r--pkgtools/libnbcompat/files/isblank.c6
-rw-r--r--pkgtools/libnbcompat/files/strmode.c191
6 files changed, 218 insertions, 10 deletions
diff --git a/pkgtools/libnbcompat/Makefile b/pkgtools/libnbcompat/Makefile
index 1f00a961b62..084102648ff 100644
--- a/pkgtools/libnbcompat/Makefile
+++ b/pkgtools/libnbcompat/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.3 2003/04/03 12:55:21 grant Exp $
+# $NetBSD: Makefile,v 1.4 2003/06/09 17:19:48 grant Exp $
#
-DISTNAME= libnbcompat-20030403
+DISTNAME= libnbcompat-20030609
CATEGORIES= pkgtools
MASTER_SITES= # empty
DISTFILES= # empty
diff --git a/pkgtools/libnbcompat/files/config.h.in b/pkgtools/libnbcompat/files/config.h.in
index 4a055556a5e..9b0bc8b431b 100644
--- a/pkgtools/libnbcompat/files/config.h.in
+++ b/pkgtools/libnbcompat/files/config.h.in
@@ -1,5 +1,5 @@
/* config.h.in. Generated from configure.ac by autoheader. */
-/* $Id: config.h.in,v 1.3 2003/05/22 18:10:43 jschauma Exp $ */
+/* $Id: config.h.in,v 1.4 2003/06/09 17:19:49 grant Exp $ */
/* Define if *printf() uses %qd to print `long long' (otherwise uses %lld) */
#undef HAVE_PRINTF_QD
@@ -99,6 +99,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the `isblank' function. */
+#undef HAVE_ISBLANK
+
/* Define to 1 if you have the `lchflags' function. */
#undef HAVE_LCHFLAGS
@@ -247,6 +250,9 @@
/* Define to 1 if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
+/* Define to 1 if you have the `strmode' function. */
+#undef HAVE_STRMODE
+
/* Define to 1 if you have the `strptime' function. */
#undef HAVE_STRPTIME
diff --git a/pkgtools/libnbcompat/files/configure b/pkgtools/libnbcompat/files/configure
index 0e01c4bbdfd..4be9c0a68b0 100755
--- a/pkgtools/libnbcompat/files/configure
+++ b/pkgtools/libnbcompat/files/configure
@@ -5731,10 +5731,14 @@ done
+
+
+
for ac_func in err fgetln fseeko getenv glob inet_ntop \
- inet_pton lchflags lchmod lchown lutimes mkstemp setenv \
- setmode setprogname sl_init snprintf strdup strerror strlcat \
- strlcpy strptime strsep strtoll timegm usleep
+ inet_pton isblank lchflags lchmod lchown lutimes mkstemp \
+ setenv setmode setprogname sl_init snprintf strdup strerror \
+ strlcat strlcpy strmode strptime strsep strtoll timegm \
+ usleep
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
diff --git a/pkgtools/libnbcompat/files/configure.ac b/pkgtools/libnbcompat/files/configure.ac
index e7f9e34892d..df27d27123f 100644
--- a/pkgtools/libnbcompat/files/configure.ac
+++ b/pkgtools/libnbcompat/files/configure.ac
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.52)
-AC_INIT([libnbcompat], [20030331], [grant@NetBSD.org])
+AC_INIT([libnbcompat], [20030609], [grant@NetBSD.org])
AC_CONFIG_SRCDIR([bits.c])
AC_CONFIG_HEADER(config.h)
AC_ARG_PROGRAM
@@ -68,9 +68,10 @@ AC_FUNC_STRERROR_R
AC_FUNC_VPRINTF
AC_REPLACE_FUNCS([err fgetln fseeko getenv glob inet_ntop \
- inet_pton lchflags lchmod lchown lutimes mkstemp setenv \
- setmode setprogname sl_init snprintf strdup strerror strlcat \
- strlcpy strptime strsep strtoll timegm usleep])
+ inet_pton isblank lchflags lchmod lchown lutimes mkstemp \
+ setenv setmode setprogname sl_init snprintf strdup strerror \
+ strlcat strlcpy strmode strptime strsep strtoll timegm \
+ usleep])
AC_CHECK_FUNCS([MD5File RMD160File SHA1File])
AC_CHECK_FUNCS([setgroupent setgrent setpassent setpwent])
diff --git a/pkgtools/libnbcompat/files/isblank.c b/pkgtools/libnbcompat/files/isblank.c
new file mode 100644
index 00000000000..9fcb724d031
--- /dev/null
+++ b/pkgtools/libnbcompat/files/isblank.c
@@ -0,0 +1,6 @@
+int
+isblank(c)
+ int c;
+{
+ return(c == ' ' || c == '\t');
+}
diff --git a/pkgtools/libnbcompat/files/strmode.c b/pkgtools/libnbcompat/files/strmode.c
new file mode 100644
index 00000000000..de6cedb575d
--- /dev/null
+++ b/pkgtools/libnbcompat/files/strmode.c
@@ -0,0 +1,191 @@
+/* $NetBSD: strmode.c,v 1.1 2003/06/09 17:19:50 grant Exp $ */
+
+/*-
+ * Copyright (c) 1990, 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.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 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 "nbcompat.h"
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef HAVE_SYS_CDEFS_H
+#include <sys/cdefs.h>
+#endif
+
+#if defined(LIBC_SCCS) && !defined(lint)
+#if 0
+static char sccsid[] = "@(#)strmode.c 8.3 (Berkeley) 8/15/94";
+#else
+__RCSID("$NetBSD: strmode.c,v 1.1 2003/06/09 17:19:50 grant Exp $");
+#endif
+#endif /* LIBC_SCCS and not lint */
+
+#include "namespace.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#ifdef HAVE_ASSERT_H
+#include <assert.h>
+#endif
+
+#include <unistd.h>
+
+#ifndef _DIAGASSERT
+#define _DIAGASSERT(cond) assert(cond)
+#endif
+
+void
+strmode(mode, p)
+ mode_t mode;
+ char *p;
+{
+
+ _DIAGASSERT(p != NULL);
+
+ /* print type */
+ switch (mode & S_IFMT) {
+ case S_IFDIR: /* directory */
+ *p++ = 'd';
+ break;
+ case S_IFCHR: /* character special */
+ *p++ = 'c';
+ break;
+ case S_IFBLK: /* block special */
+ *p++ = 'b';
+ break;
+ case S_IFREG: /* regular */
+#ifdef S_ARCH2
+ if ((mode & S_ARCH2) != 0) {
+ *p++ = 'A';
+ } else if ((mode & S_ARCH1) != 0) {
+ *p++ = 'a';
+ } else {
+#endif
+ *p++ = '-';
+#ifdef S_ARCH2
+ }
+#endif
+ break;
+ case S_IFLNK: /* symbolic link */
+ *p++ = 'l';
+ break;
+ case S_IFSOCK: /* socket */
+ *p++ = 's';
+ break;
+#ifdef S_IFIFO
+ case S_IFIFO: /* fifo */
+ *p++ = 'p';
+ break;
+#endif
+#ifdef S_IFWHT
+ case S_IFWHT: /* whiteout */
+ *p++ = 'w';
+ break;
+#endif
+ default: /* unknown */
+ *p++ = '?';
+ break;
+ }
+ /* usr */
+ if (mode & S_IRUSR)
+ *p++ = 'r';
+ else
+ *p++ = '-';
+ if (mode & S_IWUSR)
+ *p++ = 'w';
+ else
+ *p++ = '-';
+ switch (mode & (S_IXUSR | S_ISUID)) {
+ case 0:
+ *p++ = '-';
+ break;
+ case S_IXUSR:
+ *p++ = 'x';
+ break;
+ case S_ISUID:
+ *p++ = 'S';
+ break;
+ case S_IXUSR | S_ISUID:
+ *p++ = 's';
+ break;
+ }
+ /* group */
+ if (mode & S_IRGRP)
+ *p++ = 'r';
+ else
+ *p++ = '-';
+ if (mode & S_IWGRP)
+ *p++ = 'w';
+ else
+ *p++ = '-';
+ switch (mode & (S_IXGRP | S_ISGID)) {
+ case 0:
+ *p++ = '-';
+ break;
+ case S_IXGRP:
+ *p++ = 'x';
+ break;
+ case S_ISGID:
+ *p++ = 'S';
+ break;
+ case S_IXGRP | S_ISGID:
+ *p++ = 's';
+ break;
+ }
+ /* other */
+ if (mode & S_IROTH)
+ *p++ = 'r';
+ else
+ *p++ = '-';
+ if (mode & S_IWOTH)
+ *p++ = 'w';
+ else
+ *p++ = '-';
+ switch (mode & (S_IXOTH | S_ISVTX)) {
+ case 0:
+ *p++ = '-';
+ break;
+ case S_IXOTH:
+ *p++ = 'x';
+ break;
+ case S_ISVTX:
+ *p++ = 'T';
+ break;
+ case S_IXOTH | S_ISVTX:
+ *p++ = 't';
+ break;
+ }
+ *p++ = ' '; /* will be a '+' if ACL's implemented */
+ *p = '\0';
+}