From ca0607c4c219ea1c75673dd2a89831997d07754e Mon Sep 17 00:00:00 2001 From: Sebastian Gniazdowski Date: Sun, 28 May 2017 13:15:06 -0700 Subject: 41153: finish module setup only after all error conditions have been checked --- Src/Modules/db_gdbm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Src/Modules') diff --git a/Src/Modules/db_gdbm.c b/Src/Modules/db_gdbm.c index 35254b68c..c4bb931a3 100644 --- a/Src/Modules/db_gdbm.c +++ b/Src/Modules/db_gdbm.c @@ -157,10 +157,7 @@ bin_ztie(char *nam, char **args, Options ops, UNUSED(int func)) gdbm_errno=0; dbf = gdbm_open(resource_name, 0, read_write, 0666, 0); - if(dbf) { - addmodulefd(gdbm_fdesc(dbf), FDT_MODULE); - append_tied_name(pmname); - } else { + if(dbf == NULL) { zwarnnam(nam, "error opening database file %s (%s)", resource_name, gdbm_strerror(gdbm_errno)); return 1; } @@ -172,6 +169,9 @@ bin_ztie(char *nam, char **args, Options ops, UNUSED(int func)) return 1; } + addmodulefd(gdbm_fdesc(dbf), FDT_MODULE); + append_tied_name(pmname); + tied_param->gsu.h = &gdbm_hash_gsu; /* Allocate parameter sub-gsu, fill dbf field. -- cgit 1.4.1 From 284b5aaeb08f90520ac7dc385e8921471678e7dd Mon Sep 17 00:00:00 2001 From: Sebastian Gniazdowski Date: Sun, 28 May 2017 13:17:26 -0700 Subject: 41151: propagate flags when creating new parameter --- ChangeLog | 3 +++ Src/Modules/db_gdbm.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'Src/Modules') diff --git a/ChangeLog b/ChangeLog index d97672317..eb1af3488 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ * Sebastian: 41153: Src/Modules/db_gdbm.c: finish module setup only after all error conditions have been checked + * Sebastian: 41151: Src/Modules/db_gdbm.c: propagate flags when + creating new parameter + * unposted: Doc/Zsh/mod_complist.yo: clarify ZLS_COLORS pattern matching contexts diff --git a/Src/Modules/db_gdbm.c b/Src/Modules/db_gdbm.c index c4bb931a3..0ab0fe725 100644 --- a/Src/Modules/db_gdbm.c +++ b/Src/Modules/db_gdbm.c @@ -645,7 +645,7 @@ static Param createhash( char *name, int flags ) { Param pm; HashTable ht; - pm = createparam(name, PM_SPECIAL | PM_HASHED); + pm = createparam(name, flags | PM_SPECIAL | PM_HASHED); if (!pm) { return NULL; } -- cgit 1.4.1