summaryrefslogtreecommitdiffstats
path: root/src/passwd.c
diff options
context:
space:
mode:
authornalin <nalin>2002-11-18 22:05:08 +0000
committernalin <nalin>2002-11-18 22:05:08 +0000
commitdbf919855d755917146a86ab4e3201041ade0332 (patch)
tree07af350ac300b38df79a96f11ff80f729644613d /src/passwd.c
parent4e355429e4b3f16de43ef0ac94eafe0a820b0406 (diff)
downloadnss_directories-dbf919855d755917146a86ab4e3201041ade0332.tar.gz
nss_directories-dbf919855d755917146a86ab4e3201041ade0332.tar.xz
nss_directories-dbf919855d755917146a86ab4e3201041ade0332.zip
* src/files-parse.c, src/glibc-parse.c: add glibc-based parsing internally
* src/passwd.c,src/services.c,src/group.c,src/protocols.c,src/shadow.c: use the new parsing code * src/generic.c (setent): return SUCCESS on successful open, not UNAVAIL * src/Makefile.am: export only _nss_directories_[sge]*, to export the setent, getent/getby, and endent functions, but not the parsers.
Diffstat (limited to 'src/passwd.c')
-rw-r--r--src/passwd.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/passwd.c b/src/passwd.c
index 53b3159..8075f19 100644
--- a/src/passwd.c
+++ b/src/passwd.c
@@ -16,14 +16,28 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#ident "$Id: passwd.c,v 1.1 2002/11/18 19:53:21 nalin Exp $"
+#ident "$Id: passwd.c,v 1.2 2002/11/18 22:08:14 nalin Exp $"
#include <sys/types.h>
#include <pwd.h>
+/* Shared information. */
#define STRUCTURE passwd
-#define FILENAME "passwd"
+#define DATABASE "passwd"
+/* Parser. */
+#define ENTNAME pwent
+#define ENTDATA pwent_data
+struct pwent_data {};
+
+#define libc_hidden_def(ignored)
+#define _nss_files_parse_ _nss_directories_parse_
+
+#define EXTERN_PARSER
+
+#include "files-parse.c"
+
+/* Lookup. */
#define getnam _nss_directories_getpwnam_r
#define getnam_field pw_name
@@ -35,6 +49,6 @@
#define getent _nss_directories_getpwent_r
#define endent _nss_directories_endpwent
-#define parser _nss_files_parse_pwent
+#define parse_line _nss_directories_parse_pwent
#include "generic.c"