aboutsummaryrefslogtreecommitdiff
path: root/src/falloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/falloc.c')
-rw-r--r--src/falloc.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/falloc.c b/src/falloc.c
index c3bd145..13ee0ed 100644
--- a/src/falloc.c
+++ b/src/falloc.c
@@ -182,8 +182,7 @@ pop_avail_block (GDBM_FILE dbf)
182 + sizeof (avail_block)); 182 + sizeof (avail_block));
183 183
184 /* Allocate space for the block. */ 184 /* Allocate space for the block. */
185 new_blk = GDBM_DEBUG_ALLOC ("pop_avail_block:malloc-failure", 185 new_blk = malloc (new_el.av_size);
186 malloc (new_el.av_size));
187 if (new_blk == NULL) 186 if (new_blk == NULL)
188 { 187 {
189 GDBM_SET_ERRNO (dbf, GDBM_MALLOC_ERROR, TRUE); 188 GDBM_SET_ERRNO (dbf, GDBM_MALLOC_ERROR, TRUE);
@@ -192,8 +191,7 @@ pop_avail_block (GDBM_FILE dbf)
192 } 191 }
193 192
194 /* Read the block. */ 193 /* Read the block. */
195 file_pos = GDBM_DEBUG_OVERRIDE ("pop_avail_block:lseek-failure", 194 file_pos = __lseek (dbf, new_el.av_adr, SEEK_SET);
196 __lseek (dbf, new_el.av_adr, SEEK_SET));
197 if (file_pos != new_el.av_adr) 195 if (file_pos != new_el.av_adr)
198 { 196 {
199 GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE); 197 GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE);
@@ -202,8 +200,7 @@ pop_avail_block (GDBM_FILE dbf)
202 return -1; 200 return -1;
203 } 201 }
204 202
205 rc = GDBM_DEBUG_OVERRIDE ("pop_avail_block:read-failure", 203 rc = _gdbm_full_read (dbf, new_blk, new_el.av_size);
206 _gdbm_full_read (dbf, new_blk, new_el.av_size));
207 if (rc) 204 if (rc)
208 { 205 {
209 free (new_blk); 206 free (new_blk);
@@ -295,8 +292,7 @@ push_avail_block (GDBM_FILE dbf)
295 av_adr = new_loc.av_adr; 292 av_adr = new_loc.av_adr;
296 293
297 /* Split the header block. */ 294 /* Split the header block. */
298 temp = GDBM_DEBUG_ALLOC ("push_avail_block:malloc-failure", 295 temp = malloc (av_size);
299 malloc (av_size));
300 if (temp == NULL) 296 if (temp == NULL)
301 { 297 {
302 GDBM_SET_ERRNO (dbf, GDBM_MALLOC_ERROR, TRUE); 298 GDBM_SET_ERRNO (dbf, GDBM_MALLOC_ERROR, TRUE);
@@ -325,8 +321,7 @@ push_avail_block (GDBM_FILE dbf)
325 _gdbm_free (dbf, new_loc.av_adr, new_loc.av_size); 321 _gdbm_free (dbf, new_loc.av_adr, new_loc.av_size);
326 322
327 /* Update the disk. */ 323 /* Update the disk. */
328 file_pos = GDBM_DEBUG_OVERRIDE ("push_avail_block:lseek-failure", 324 file_pos = __lseek (dbf, av_adr, SEEK_SET);
329 __lseek (dbf, av_adr, SEEK_SET));
330 if (file_pos != av_adr) 325 if (file_pos != av_adr)
331 { 326 {
332 GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE); 327 GDBM_SET_ERRNO (dbf, GDBM_FILE_SEEK_ERROR, TRUE);
@@ -334,8 +329,7 @@ push_avail_block (GDBM_FILE dbf)
334 return -1; 329 return -1;
335 } 330 }
336 331
337 rc = GDBM_DEBUG_OVERRIDE ("push_avail_block:write-failure", 332 rc = _gdbm_full_write (dbf, temp, av_size);
338 _gdbm_full_write (dbf, temp, av_size));
339 if (rc) 333 if (rc)
340 { 334 {
341 GDBM_DEBUG (GDBM_DEBUG_STORE|GDBM_DEBUG_ERR, 335 GDBM_DEBUG (GDBM_DEBUG_STORE|GDBM_DEBUG_ERR,

Return to:

Send suggestions and report system problems to the System administrator.