diff options
author | H. Peter Anvin <hpa@zytor.com> | 1998-03-27 04:23:26 +0000 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 1998-03-27 04:23:26 +0000 |
commit | d1a392948f14d1faa62271472ef6fecf1e80972f (patch) | |
tree | 517df4087cdb818a65cd9a5980456a9c7e58526d /modules | |
parent | c7fc4bf77c081ace071df1e552cb852e90be2192 (diff) | |
download | autofs3-d1a392948f14d1faa62271472ef6fecf1e80972f.tar.gz autofs3-d1a392948f14d1faa62271472ef6fecf1e80972f.tar.xz autofs3-d1a392948f14d1faa62271472ef6fecf1e80972f.zip |
A few more hacks. Prepare for 0.3.15-pre2.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/lookup_hesiod.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/modules/lookup_hesiod.c b/modules/lookup_hesiod.c index 231377e..757cec2 100644 --- a/modules/lookup_hesiod.c +++ b/modules/lookup_hesiod.c @@ -64,6 +64,7 @@ int lookup_mount(char *root, char *name, int name_len, void *context) { char **hes_result, mapent[HESIOD_LEN + 1]; struct lookup_context *ctxt = (struct lookup_context *) context; + int rv; syslog(LOG_DEBUG, MODPREFIX "looking up root=\"%s\", name=\"%s\"", root, name); @@ -73,14 +74,16 @@ int lookup_mount(char *root, char *name, int name_len, void *context) hes_result = hes_resolve(name, "filsys"); - if(hes_result) { - strncpy(mapent, hes_result[0], sizeof(mapent) - 1); - syslog(LOG_DEBUG, MODPREFIX "lookup for \"%s\" gave \"%s\"", - name, mapent); - free(hes_result); + if ( !hes_result ) { + syslog(LOG_NOTICE, MODPREFIX "entry \"%s\" not found in map\n", name); + return 1; } - - return ctxt->parser->parse_mount(root,name,name_len,mapent,ctxt->parser->context); + + syslog(LOG_DEBUG, MODPREFIX "lookup for \"%s\" gave \"%s\"", + name, hes_result[0]); + rv = ctxt->parser->parse_mount(root,name,name_len,hes_result[0],ctxt->parser->context); + free(hes_result); + return rv; } /* This destroys a context for queries to this module. It releases the parser |