From 8d7e498db160f9a366400fc1c55dacbcffaf4196 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 16 Apr 2000 11:17:19 +0000 Subject: converted a couple more functions to use a fd instead of a FILE* added a new utility fn file_lines_slashcont() which is used to handle files that treat a \ followed by a newline as a blank (This used to be commit 384ecd9d66ccd31ee85000c0ca55d413d8f2cc53) --- source3/smbd/groupname.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'source3/smbd/groupname.c') diff --git a/source3/smbd/groupname.c b/source3/smbd/groupname.c index 4dadfaa939..fcbf5dd778 100644 --- a/source3/smbd/groupname.c +++ b/source3/smbd/groupname.c @@ -71,9 +71,8 @@ void load_groupname_map(void) static BOOL initialized = False; char *groupname_map_file = lp_groupname_map(); SMB_STRUCT_STAT st; - FILE *fp; - char *s; - pstring buf; + char **lines; + int i; groupname_map_entry *new_ep; if(!initialized) { @@ -102,12 +101,13 @@ void load_groupname_map(void) * Load the file. */ - fp = sys_fopen(groupname_map_file,"r"); - if (!fp) { + lines = file_lines_load(groupname_map_file,NULL); + if (!lines) { DEBUG(0,("load_groupname_map: can't open groupname map %s. Error was %s\n", groupname_map_file, strerror(errno))); return; } + file_lines_slashcont(lines); /* * Throw away any previous list. @@ -116,11 +116,12 @@ void load_groupname_map(void) DEBUG(4,("load_groupname_map: Scanning groupname map %s\n",groupname_map_file)); - while((s=fgets_slash(buf,sizeof(buf),fp))!=NULL) { + for (i=0; lines[i]; i++) { pstring unixname; pstring windows_name; struct group *gptr; DOM_SID tmp_sid; + char *s = lines[i]; DEBUG(10,("load_groupname_map: Read line |%s|\n", s)); @@ -202,7 +203,7 @@ Error was %s.\n", unixname, strerror(errno) )); DEBUG(10,("load_groupname_map: Added %ld entries to groupname map.\n", ubi_slCount(&groupname_map_list))); - fclose(fp); + file_lines_free(lines); } /*********************************************************** -- cgit