aboutsummaryrefslogtreecommitdiff
path: root/src/gdbmstore.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-07-26 10:43:34 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2016-07-26 10:43:34 +0300
commit7fb0d1cbbf7842f2632b7dca0451d6f3918dd7ab (patch)
tree899bdcd5c62eb632de6fb3c660a192c1929446c9 /src/gdbmstore.c
parent465e893bfa0cdfb8f260500599fc3af458047a76 (diff)
downloadgdbm-7fb0d1cbbf7842f2632b7dca0451d6f3918dd7ab.tar.gz
gdbm-7fb0d1cbbf7842f2632b7dca0451d6f3918dd7ab.tar.bz2
Fix remaining uses of gdbm_set_errno function.
Use the GDBM_SET_ERRNO and GDBM_SET_ERRNO2 macros to make sure the error gets reported in debug output. * src/fullio.c (_gdbm_full_read) (_gdbm_full_write): Return -1 and set gdbm_errno on error. * src/bucket.c: Use GDBM_SET_ERRNO(2?) or GDBM_DEBUG where necessary. * src/falloc.c: Likewise. * src/findkey.c: Likewise. * src/gdbmdefs.h: Likewise. * src/gdbmopen.c: Likewise. * src/gdbmstore.c: Likewise. * src/mmap.c: Likewise. * src/recover.c: Likewise. * src/update.c: Likewise.
Diffstat (limited to 'src/gdbmstore.c')
-rw-r--r--src/gdbmstore.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/gdbmstore.c b/src/gdbmstore.c
index 4cd7ad1..404687c 100644
--- a/src/gdbmstore.c
+++ b/src/gdbmstore.c
@@ -162,27 +162,26 @@ gdbm_store (GDBM_FILE dbf, datum key, datum content, int flags)
162 162
163 rc = GDBM_DEBUG_OVERRIDE ("gdbm_store:write-1-failure", 163 rc = GDBM_DEBUG_OVERRIDE ("gdbm_store:write-1-failure",
164 _gdbm_full_write (dbf, key.dptr, key.dsize)); 164 _gdbm_full_write (dbf, key.dptr, key.dsize));
165 if (rc) 165 if (rc)
166 { 166 {
167 GDBM_DEBUG (GDBM_DEBUG_STORE|GDBM_DEBUG_ERR, 167 GDBM_DEBUG (GDBM_DEBUG_STORE|GDBM_DEBUG_ERR,
168 "%s: writing key: %s", dbf->name, strerror (errno)); 168 "%s: error writing key: %s",
169 gdbm_set_errno (dbf, rc, TRUE); 169 dbf->name, gdbm_db_strerror (dbf));
170 _gdbm_fatal (dbf, gdbm_strerror (rc)); 170 _gdbm_fatal (dbf, gdbm_strerror (rc));
171 return -1; 171 return -1;
172 } 172 }
173 173
174 rc = GDBM_DEBUG_OVERRIDE ("gdbm_store:write-2-failure", 174 rc = GDBM_DEBUG_OVERRIDE ("gdbm_store:write-2-failure",
175 _gdbm_full_write (dbf, 175 _gdbm_full_write (dbf,
176 content.dptr, content.dsize)); 176 content.dptr, content.dsize));
177 if (rc) 177 if (rc)
178 { 178 {
179 GDBM_DEBUG (GDBM_DEBUG_STORE|GDBM_DEBUG_ERR, 179 GDBM_DEBUG (GDBM_DEBUG_STORE|GDBM_DEBUG_ERR,
180 "%s: writing content: %s", 180 "%s: error writing content: %s",
181 dbf->name, strerror (errno)); 181 dbf->name, gdbm_db_strerror (dbf));
182 gdbm_set_errno (dbf, rc, TRUE);
183 _gdbm_fatal (dbf, gdbm_strerror (rc)); 182 _gdbm_fatal (dbf, gdbm_strerror (rc));
184 return -1; 183 return -1;
185 } 184 }
186 185
187 /* Current bucket has changed. */ 186 /* Current bucket has changed. */
188 dbf->cache_entry->ca_changed = TRUE; 187 dbf->cache_entry->ca_changed = TRUE;

Return to:

Send suggestions and report system problems to the System administrator.