comparison src/database.c @ 4959:bd169a24a554

merge
author Ben Wing <ben@xemacs.org>
date Thu, 28 Jan 2010 04:27:30 -0600
parents 304aebb79cd3
children 4aebb0131297
comparison
equal deleted inserted replaced
4893:99f2102552d7 4959:bd169a24a554
325 for (keydatum = dbm_firstkey (db->dbm_handle); 325 for (keydatum = dbm_firstkey (db->dbm_handle);
326 keydatum.dptr != NULL; 326 keydatum.dptr != NULL;
327 keydatum = dbm_nextkey (db->dbm_handle)) 327 keydatum = dbm_nextkey (db->dbm_handle))
328 { 328 {
329 valdatum = dbm_fetch (db->dbm_handle, keydatum); 329 valdatum = dbm_fetch (db->dbm_handle, keydatum);
330 key = make_ext_string ((Extbyte *) keydatum.dptr, keydatum.dsize, 330 key = make_extstring ((Extbyte *) keydatum.dptr, keydatum.dsize,
331 db->coding_system); 331 db->coding_system);
332 val = make_ext_string ((Extbyte *) valdatum.dptr, valdatum.dsize, 332 val = make_extstring ((Extbyte *) valdatum.dptr, valdatum.dsize,
333 db->coding_system); 333 db->coding_system);
334 call2 (func, key, val); 334 call2 (func, key, val);
335 } 335 }
336 } 336 }
337 337
344 ALLOCA, (keydatum.dptr, keydatum.dsize), 344 ALLOCA, (keydatum.dptr, keydatum.dsize),
345 db->coding_system); 345 db->coding_system);
346 valdatum = dbm_fetch (db->dbm_handle, keydatum); 346 valdatum = dbm_fetch (db->dbm_handle, keydatum);
347 347
348 return (valdatum.dptr 348 return (valdatum.dptr
349 ? make_ext_string ((Extbyte *) valdatum.dptr, valdatum.dsize, 349 ? make_extstring ((Extbyte *) valdatum.dptr, valdatum.dsize,
350 db->coding_system) 350 db->coding_system)
351 : Qnil); 351 : Qnil);
352 } 352 }
353 353
354 static int 354 static int
471 #else 471 #else
472 status = db->db_handle->get (db->db_handle, NULL, &keydatum, &valdatum, 0); 472 status = db->db_handle->get (db->db_handle, NULL, &keydatum, &valdatum, 0);
473 #endif /* DB_VERSION_MAJOR */ 473 #endif /* DB_VERSION_MAJOR */
474 474
475 if (!status) 475 if (!status)
476 return make_ext_string ((const Extbyte *) valdatum.data, valdatum.size, 476 return make_extstring ((const Extbyte *) valdatum.data, valdatum.size,
477 db->coding_system); 477 db->coding_system);
478 478
479 #if DB_VERSION_MAJOR == 1 479 #if DB_VERSION_MAJOR == 1
480 db->dberrno = (status == 1) ? -1 : errno; 480 db->dberrno = (status == 1) ? -1 : errno;
481 #else 481 #else
562 #if DB_VERSION_MAJOR == 1 562 #if DB_VERSION_MAJOR == 1
563 for (status = dbp->seq (dbp, &keydatum, &valdatum, R_FIRST); 563 for (status = dbp->seq (dbp, &keydatum, &valdatum, R_FIRST);
564 status == 0; 564 status == 0;
565 status = dbp->seq (dbp, &keydatum, &valdatum, R_NEXT)) 565 status = dbp->seq (dbp, &keydatum, &valdatum, R_NEXT))
566 { 566 {
567 key = make_ext_string ((const Extbyte *) keydatum.data, keydatum.size, 567 key = make_extstring ((const Extbyte *) keydatum.data, keydatum.size,
568 db->coding_system); 568 db->coding_system);
569 val = make_ext_string ((const Extbyte *) valdatum.data, valdatum.size, 569 val = make_extstring ((const Extbyte *) valdatum.data, valdatum.size,
570 db->coding_system); 570 db->coding_system);
571 call2 (func, key, val); 571 call2 (func, key, val);
572 } 572 }
573 #else 573 #else
574 { 574 {
581 #endif 581 #endif
582 for (status = dbcp->c_get (dbcp, &keydatum, &valdatum, DB_FIRST); 582 for (status = dbcp->c_get (dbcp, &keydatum, &valdatum, DB_FIRST);
583 status == 0; 583 status == 0;
584 status = dbcp->c_get (dbcp, &keydatum, &valdatum, DB_NEXT)) 584 status = dbcp->c_get (dbcp, &keydatum, &valdatum, DB_NEXT))
585 { 585 {
586 key = make_ext_string ((const Extbyte *) keydatum.data, keydatum.size, 586 key = make_extstring ((const Extbyte *) keydatum.data, keydatum.size,
587 db->coding_system); 587 db->coding_system);
588 val = make_ext_string ((const Extbyte *) valdatum.data, valdatum.size, 588 val = make_extstring ((const Extbyte *) valdatum.data, valdatum.size,
589 db->coding_system); 589 db->coding_system);
590 call2 (func, key, val); 590 call2 (func, key, val);
591 } 591 }
592 dbcp->c_close (dbcp); 592 dbcp->c_close (dbcp);
593 } 593 }