Thu Jul 11 18:20:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
[kopensolaris-gnu/glibc.git] / nss / nss_files / files-grp.c
index 6d528a6..8e047b6 100644 (file)
@@ -21,28 +21,22 @@ Cambridge, MA 02139, USA.  */
 
 #define STRUCTURE      group
 #define ENTNAME                grent
-#define DATAFILE       "/etc/group"
+#define DATABASE       "group"
 struct grent_data {};
 
-#define TRAILING_LIST_MEMBER           gr_mem
-#define TRAILING_LIST_SEPARATOR_P(c)   ((c) == ',')
+/* Our parser function is already defined in fgetgrent.c, so use that.
+   to parse lines from the database file.  */
+#define EXTERN_PARSER
 #include "files-parse.c"
-LINE_PARSER
-(
- STRING_FIELD (result->gr_name, ISCOLON, 0);
- STRING_FIELD (result->gr_passwd, ISCOLON, 0);
- INT_FIELD (result->gr_gid, ISCOLON, 0, 10,);
-)
+#include GENERIC
 
-#include "files-XXX.c"
-
-DB_LOOKUP (grnam,
+DB_LOOKUP (grnam, 1 + strlen (name), (".%s", name),
           {
             if (! strcmp (name, result->gr_name))
               break;
           }, const char *name)
 
-DB_LOOKUP (grgid,
+DB_LOOKUP (grgid, 20, ("=%lu", (unsigned long int) gid),
           {
             if (result->gr_gid == gid)
               break;