diff options
author | chip <chip> | 2001-11-22 01:32:54 +0000 |
---|---|---|
committer | chip <chip> | 2001-11-22 01:32:54 +0000 |
commit | 13e118068de064b9bd69c629b74ccb11745c20c9 (patch) | |
tree | 03575791b98170435c4cf91cade6bbb51ddacab5 /support/nfs/exports.c | |
parent | 9743207017ccface520f839fb573ddef22e464ed (diff) | |
download | nfs-utils-13e118068de064b9bd69c629b74ccb11745c20c9.tar.gz nfs-utils-13e118068de064b9bd69c629b74ccb11745c20c9.tar.xz nfs-utils-13e118068de064b9bd69c629b74ccb11745c20c9.zip |
2001-11-21 Chip Salzenberg <chip@pobox.com>
* support/nfs/clients.c (cfname): Added: current clients file name.
(setnfsclntent): Set it.
({get,end}nfsclntent, syntaxerr): Use it.
* support/nfs/exports.c (efname): Added: current exports file name.
(setnfsexportent): Set it.
(endnfsexportent, parseopts, getexport, syntaxerr): Use it.
Diffstat (limited to 'support/nfs/exports.c')
-rw-r--r-- | support/nfs/exports.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/support/nfs/exports.c b/support/nfs/exports.c index eb1bf2c..5a8e7e9 100644 --- a/support/nfs/exports.c +++ b/support/nfs/exports.c @@ -31,6 +31,7 @@ #define EXPORT_DEFAULT_FLAGS \ (NFSEXP_ASYNC|NFSEXP_READONLY|NFSEXP_ROOTSQUASH|NFSEXP_GATHERED_WRITES) +static char *efname = NULL; static XFILE *efp = NULL; static int first; static int *squids = NULL, nsquids = 0, @@ -55,6 +56,7 @@ setexportent(char *fname, char *type) if (!(efp = xfopen(fname, type))) xlog(L_ERROR, "can't open %s for %sing", fname, strcmp(type, "r")? "writ" : "read"); + efname = strdup(fname); first = 1; } @@ -205,6 +207,9 @@ endexportent(void) if (efp) xfclose(efp); efp = NULL; + if (efname) + free(efname); + efname = NULL; freesquash(); } @@ -349,9 +354,8 @@ parseopts(char *cp, struct exportent *ep) return -1; } } else { - xlog(L_ERROR, - "Unknown keyword \"%s\" in export file\n", - opt); + xlog(L_ERROR, "%s:%d: unknown keyword \"%s\"\n", + efname, efp->x_line, opt); ep->e_flags |= NFSEXP_ALLSQUASH | NFSEXP_READONLY; free(opt); return -1; @@ -468,14 +472,15 @@ getexport(char *exp, int len) xskip(efp, " \t"); if ((ok = xgettok(efp, 0, exp, len)) < 0) - xlog(L_ERROR, "error parsing export entry"); + xlog(L_ERROR, "%s:%d: syntax error", + efname, efp->x_line); return ok; } static void syntaxerr(char *msg) { - xlog(L_ERROR, "syntax error in exports file (line %d): %s", - efp->x_line, msg); + xlog(L_ERROR, "%s:%d: syntax error: %s", + efname, efp->x_line, msg); } |