summaryrefslogtreecommitdiff
path: root/compat
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2013-10-29 19:20:16 +0100
committerArthur de Jong <arthur@arthurdejong.org>2013-10-29 23:20:00 +0100
commit6028226130e26addfacca04807b6fc078eba160e (patch)
tree49f6af897e360bf9cbb16f2c924b2d893a9b9e2a /compat
parented4cf4722c413675e63b4ca2c15046bb80244784 (diff)
Compatibility definitions for {set,get,end}usershell()
This provides compatibility definitions for systems that don't have these functions (some Solaris flavours).
Diffstat (limited to 'compat')
-rw-r--r--compat/Makefile.am1
-rw-r--r--compat/shell.h49
2 files changed, 50 insertions, 0 deletions
diff --git a/compat/Makefile.am b/compat/Makefile.am
index 7391fee..66703c5 100644
--- a/compat/Makefile.am
+++ b/compat/Makefile.am
@@ -25,6 +25,7 @@ AM_CFLAGS = -fPIC
EXTRA_DIST = getopt_long.c getopt_long.h \
daemon.c daemon.h \
ether.c ether.h \
+ shell.h \
strndup.c strndup.h \
nss_compat.h socket.h \
ldap_compat.h pagectrl.c ldap_passwd_s.c ldap_initialize.c \
diff --git a/compat/shell.h b/compat/shell.h
new file mode 100644
index 0000000..09c480e
--- /dev/null
+++ b/compat/shell.h
@@ -0,0 +1,49 @@
+/*
+ shell.h - ethernet definitions for systems lacking those
+
+ Copyright (C) 2013 Arthur de Jong
+
+ This 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.
+
+ This 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 this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301 USA
+*/
+
+#ifndef COMPAT__SHELL_H
+#define COMPAT__SHELL_H 1
+
+#ifdef HAVE_GETUSERSHELL
+#if !HAVE_DECL_GETUSERSHELL
+/* we define getusershell() here because on some platforms the function is
+ undefined */
+extern char *getusershell(void);
+#endif /* not HAVE_DECL_GETUSERSHELL */
+#endif /* HAVE_GETUSERSHELL */
+
+#ifdef HAVE_SETUSERSHELL
+#if !HAVE_DECL_SETUSERSHELL
+/* we define setusershell() here because on some platforms the function is
+ undefined */
+extern char *setusershell(void);
+#endif /* not HAVE_DECL_SETUSERSHELL */
+#endif /* HAVE_SETUSERSHELL */
+
+#ifdef HAVE_ENDUSERSHELL
+#if !HAVE_DECL_ENDUSERSHELL
+/* we define getusershell() here because on some platforms the function is
+ undefined */
+extern char *endusershell(void);
+#endif /* not HAVE_DECL_ENDUSERSHELL */
+#endif /* HAVE_ENDUSERSHELL */
+
+#endif /* not COMPAT__SHELL_H */