[brlcad-commits] SF.net SVN: brlcad:[39228] brlcad/trunk
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <br...@us...> - 2010-05-14 20:30:32
|
Revision: 39228 http://brlcad.svn.sourceforge.net/brlcad/?rev=39228&view=rev Author: brlcad Date: 2010-05-14 20:30:24 +0000 (Fri, 14 May 2010) Log Message: ----------- revert some of the size_t promotions that were wrong/unnecessary for db_put, db_alloc, db_delete, and db_zapper. their return type is int with good reason, they don't return quantities, they return boolean success. Modified Paths: -------------- brlcad/trunk/include/raytrace.h brlcad/trunk/src/libged/color.c brlcad/trunk/src/libged/kill.c brlcad/trunk/src/libged/killtree.c brlcad/trunk/src/libged/red.c brlcad/trunk/src/libged/wdb_obj.c brlcad/trunk/src/librt/db_alloc.c brlcad/trunk/src/librt/db_io.c brlcad/trunk/src/librt/db_lookup.c brlcad/trunk/src/librt/db_scan.c brlcad/trunk/src/mged/mater.c Modified: brlcad/trunk/include/raytrace.h =================================================================== --- brlcad/trunk/include/raytrace.h 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/include/raytrace.h 2010-05-14 20:30:24 UTC (rev 39228) @@ -2905,7 +2905,7 @@ off_t offset, size_t len)); /* put several records into db */ -RT_EXPORT BU_EXTERN(size_t db_put, +RT_EXPORT BU_EXTERN(int db_put, (struct db_i *, const struct directory *dp, union record *where, @@ -3072,7 +3072,7 @@ /* db_alloc.c */ /* allocate "count" granules */ -RT_EXPORT BU_EXTERN(size_t db_alloc, +RT_EXPORT BU_EXTERN(int db_alloc, (struct db_i *, struct directory *dp, size_t count)); @@ -3082,11 +3082,11 @@ struct directory *dp, int recnum)); /* delete all granules assigned dp */ -RT_EXPORT BU_EXTERN(size_t db_delete, +RT_EXPORT BU_EXTERN(int db_delete, (struct db_i *, struct directory *dp)); /* write FREE records from 'start' */ -RT_EXPORT BU_EXTERN(size_t db_zapper, +RT_EXPORT BU_EXTERN(int db_zapper, (struct db_i *, struct directory *dp, size_t start)); Modified: brlcad/trunk/src/libged/color.c =================================================================== --- brlcad/trunk/src/libged/color.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/libged/color.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -353,7 +353,7 @@ dir.d_addr = mp->mt_daddr; dir.d_flags = 0; - if (db_delete(gedp->ged_wdbp->dbip, &dir) == (size_t)-1) { + if (db_delete(gedp->ged_wdbp->dbip, &dir) != 0) { bu_vls_printf(&gedp->ged_result_str, "Database delete error, aborting"); return; } Modified: brlcad/trunk/src/libged/kill.c =================================================================== --- brlcad/trunk/src/libged/kill.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/libged/kill.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -113,8 +113,7 @@ _ged_eraseAllNamesFromDisplay(gedp, argv[i], 0); - if (db_delete(gedp->ged_wdbp->dbip, dp) < 0 || - db_dirdelete(gedp->ged_wdbp->dbip, dp) < 0) { + if (db_delete(gedp->ged_wdbp->dbip, dp) != 0 || db_dirdelete(gedp->ged_wdbp->dbip, dp) != 0) { /* Abort kill processing on first error */ bu_vls_printf(&gedp->ged_result_str, "an error occurred while deleting %s", argv[i]); return GED_ERROR; Modified: brlcad/trunk/src/libged/killtree.c =================================================================== --- brlcad/trunk/src/libged/killtree.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/libged/killtree.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -175,7 +175,7 @@ dp->d_namep); if (!gktdp->killrefs) { - if (db_delete(dbip, dp) < 0 || db_dirdelete(dbip, dp) < 0) { + if (db_delete(dbip, dp) != 0 || db_dirdelete(dbip, dp) != 0) { bu_vls_printf(&gktdp->gedp->ged_result_str, "an error occurred while deleting %s\n", dp->d_namep); } } else { @@ -183,7 +183,7 @@ gktdp->av[gktdp->ac++] = bu_strdup(dp->d_namep); gktdp->av[gktdp->ac] = (char *)0; - if (db_delete(dbip, dp) < 0 || db_dirdelete(dbip, dp) < 0) { + if (db_delete(dbip, dp) != 0 || db_dirdelete(dbip, dp) != 0) { bu_vls_printf(&gktdp->gedp->ged_result_str, "an error occurred while deleting %s\n", dp->d_namep); /* Remove from list */ @@ -193,7 +193,7 @@ } else { bu_vls_printf(&gktdp->gedp->ged_result_str, "MAXARGS exceeded while scheduling %s for a killrefs\n", dp->d_namep); - if (db_delete(dbip, dp) < 0 || db_dirdelete(dbip, dp) < 0) { + if (db_delete(dbip, dp) != 0 || db_dirdelete(dbip, dp) != 0) { bu_vls_printf(&gktdp->gedp->ged_result_str, "an error occurred while deleting %s\n", dp->d_namep); } } Modified: brlcad/trunk/src/libged/red.c =================================================================== --- brlcad/trunk/src/libged/red.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/libged/red.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -99,7 +99,7 @@ } -static size_t +HIDDEN size_t check_comb(struct ged *gedp) { /* Do some minor checking of the edited file */ @@ -1086,7 +1086,8 @@ if (!gedp->ged_wdbp->dbip->dbi_read_only) { const char *saved_name = NULL; - if ((node_count = check_comb(gedp)) < 0) { + node_count = check_comb(gedp); + if ((long)node_count < 0) { /* Do some quick checking on the edited file */ bu_vls_printf(&gedp->ged_result_str, "%s: Error in edited region, no changes made\n", *argv); if (comb) Modified: brlcad/trunk/src/libged/wdb_obj.c =================================================================== --- brlcad/trunk/src/libged/wdb_obj.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/libged/wdb_obj.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -2569,12 +2569,9 @@ else dgo_eraseobjall_callback(wdbp->dbip, interp, dp, 0); - if (db_delete(wdbp->dbip, dp) < 0 || - db_dirdelete(wdbp->dbip, dp) < 0) { + if (db_delete(wdbp->dbip, dp) || db_dirdelete(wdbp->dbip, dp)) { /* Abort kill processing on first error */ - Tcl_AppendResult(interp, - "an error occurred while deleting ", - argv[i], (char *)NULL); + Tcl_AppendResult(interp, "an error occurred while deleting ", argv[i], (char *)NULL); return TCL_ERROR; } } @@ -2792,10 +2789,8 @@ /* notify drawable geometry objects associated with this database object */ dgo_eraseobjall_callback(dbip, interp, dp, ktdp->notify); - if (db_delete(dbip, dp) < 0 || db_dirdelete(dbip, dp) < 0) { - Tcl_AppendResult(interp, - "an error occurred while deleting ", - dp->d_namep, "\n", (char *)NULL); + if (db_delete(dbip, dp) || db_dirdelete(dbip, dp)) { + Tcl_AppendResult(interp, "an error occurred while deleting ", dp->d_namep, "\n", (char *)NULL); } } Modified: brlcad/trunk/src/librt/db_alloc.c =================================================================== --- brlcad/trunk/src/librt/db_alloc.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/librt/db_alloc.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -41,11 +41,11 @@ * * Find a block of database storage of "count" granules. * - * Returns - + * Returns: * 0 OK - * -1 failure + * non-0 failure */ -size_t +int db_alloc(register struct db_i *dbip, register struct directory *dp, size_t count) { size_t len; @@ -57,7 +57,7 @@ dp->d_namep, dbip, dp, count); if (count <= 0) { bu_log("db_alloc(0)\n"); - return (size_t)-1; + return -1; } if (dp->d_flags & RT_DIR_INMEM) { @@ -73,7 +73,7 @@ if (dbip->dbi_read_only) { bu_log("db_alloc on READ-ONLY file\n"); - return (size_t)-1; + return -1; } while (1) { len = rt_memalloc(&(dbip->dbi_freep), (unsigned)count); @@ -81,7 +81,7 @@ /* No contiguous free block, append to file */ if ((dp->d_addr = dbip->dbi_eof) == RT_DIR_PHONY_ADDR) { bu_log("db_alloc: bad EOF\n"); - return (size_t)-1; + return -1; } dp->d_len = count; dbip->dbi_eof += count * sizeof(union record); @@ -91,7 +91,7 @@ dp->d_addr = (off_t)(len * sizeof(union record)); dp->d_len = count; if (db_get(dbip, dp, &rec, 0, 1) < 0) - return (size_t)-1; + return -1; if (rec.u_id != ID_FREE) { bu_log("db_alloc(): len %ld non-FREE (id %d), skipping\n", len, rec.u_id); @@ -100,7 +100,7 @@ } /* Clear out ALL the granules, for safety */ - return(db_zapper(dbip, dp, 0)); + return db_zapper(dbip, dp, 0); } @@ -130,11 +130,15 @@ * Delete the indicated database record(s). * Arrange to write "free storage" database markers in it's place, * positively erasing what had been there before. + * + * Returns: + * 0 on success + * non-zero on failure */ -size_t +int db_delete(struct db_i *dbip, struct directory *dp) { - size_t i = 0; + int i = 0; RT_CK_DBI(dbip); RT_CK_DIR(dp); @@ -172,15 +176,16 @@ * This will zap all records from "start" to the end of this entry. * * Returns: - * -1 on error * 0 on success (from db_put()) + * non-zero on failure */ -size_t +int db_zapper(struct db_i *dbip, struct directory *dp, size_t start) { union record *rp; size_t i; size_t todo; + int ret; RT_CK_DBI(dbip); RT_CK_DIR(dp); @@ -190,23 +195,24 @@ if (dp->d_flags & RT_DIR_INMEM) bu_bomb("db_zapper() called on RT_DIR_INMEM object\n"); if (dbip->dbi_read_only) - return (size_t)-1; + return -1; BU_ASSERT_LONG(dbip->dbi_version, ==, 4); if (dp->d_len < start) - return (size_t)-1; + return -1; if ((todo = dp->d_len - start) == 0) return 0; /* OK -- trivial */ rp = (union record *)bu_malloc(todo * sizeof(union record), "db_zapper buf"); memset((char *)rp, 0, todo * sizeof(union record)); + for (i=0; i < todo; i++) rp[i].u_id = ID_FREE; - i = db_put(dbip, dp, rp, start, todo); + ret = db_put(dbip, dp, rp, start, todo); bu_free((char *)rp, "db_zapper buf"); - return i; + return ret; } /** @} */ Modified: brlcad/trunk/src/librt/db_io.c =================================================================== --- brlcad/trunk/src/librt/db_io.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/librt/db_io.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -63,7 +63,7 @@ dbip, addr, count, offset); } if (count == 0) { - return(-1); + return -1; } if (offset+count > (size_t)dbip->dbi_eof) { /* Attempt to read off the end of the file */ @@ -74,7 +74,7 @@ } if (dbip->dbi_inmem) { memcpy(addr, ((char *)dbip->dbi_inmem) + offset, count); - return(0); + return 0; } bu_semaphore_acquire(BU_SEM_SYSCALL); @@ -88,9 +88,9 @@ if (got != count) { perror(dbip->dbi_filename); bu_log("db_read(%s): read error. Wanted %d, got %d bytes\n", dbip->dbi_filename, count, got); - return(-1); + return -1; } - return(0); /* OK */ + return 0; /* OK */ } @@ -125,7 +125,7 @@ dp->d_namep, dbip, dp); if (dp->d_addr == RT_DIR_PHONY_ADDR) - return((union record *)0); /* was dummy DB entry */ + return (union record *)0; /* was dummy DB entry */ where = (union record *)bu_malloc( dp->d_len * sizeof(union record), "db_getmrec record[]"); @@ -139,9 +139,9 @@ dp->d_len * sizeof(union record), dp->d_addr) < 0) { bu_free((genptr_t)where, "db_getmrec record[]"); - return((union record *)0); /* VERY BAD */ + return (union record *)0; /* VERY BAD */ } - return(where); + return where; } @@ -166,13 +166,13 @@ if (dp->d_addr == RT_DIR_PHONY_ADDR) { where->u_id = '\0'; /* undefined id */ - return(-1); + return -1; } if (offset < 0 || len+(size_t)offset > dp->d_len) { bu_log("db_get(%s): xfer %d..%x exceeds 0..%d\n", dp->d_namep, offset, offset+len, dp->d_len); where->u_id = '\0'; /* undefined id */ - return(-1); + return -1; } if (dp->d_flags & RT_DIR_INMEM) { @@ -185,9 +185,9 @@ if (db_read(dbip, (char *)where, len * sizeof(union record), dp->d_addr + offset * sizeof(union record)) < 0) { where->u_id = '\0'; /* undefined id */ - return(-1); + return -1; } - return(0); /* OK */ + return 0; /* OK */ } @@ -217,14 +217,14 @@ if (dbip->dbi_read_only) { bu_log("db_write(%s): READ-ONLY file\n", dbip->dbi_filename); - return(-1); + return -1; } if (count == 0) { - return(-1); + return -1; } if (dbip->dbi_inmem) { bu_log("db_write() in memory?\n"); - return(-1); + return -1; } bu_semaphore_acquire(BU_SEM_SYSCALL); bu_suspend_interrupts(); @@ -240,9 +240,9 @@ bu_log("db_write(%s): write error. Wanted %d, got %d bytes.\nFile forced read-only.\n", dbip->dbi_filename, count, got); dbip->dbi_read_only = 1; - return(-1); + return -1; } - return(0); /* OK */ + return 0; /* OK */ } @@ -252,23 +252,23 @@ * Store 'len' records to the database, "offset" granules into this * entry. * - * Returns - + * Returns: * 0 OK - * -1 FAILURE + * non-0 FAILURE */ -size_t +int db_put(struct db_i *dbip, const struct directory *dp, union record *where, off_t offset, size_t len) { - RT_CK_DBI(dbip); RT_CK_DIR(dp); + if (RT_G_DEBUG&DEBUG_DB) bu_log("db_put(%s) x%x, x%x x%x off=%d len=%zu\n", dp->d_namep, dbip, dp, where, offset, len); if ((len+(size_t)offset) > dp->d_len) { bu_log("db_put(%s): xfer %d..%x exceeds 0..%d\n", dp->d_namep, offset, offset+len, dp->d_len); - return (size_t)-1; + return -1; } if (dp->d_flags & RT_DIR_INMEM) { @@ -281,14 +281,14 @@ if (dbip->dbi_read_only) { bu_log("db_put(%s): READ-ONLY file\n", dbip->dbi_filename); - return (size_t)-1; + return -1; } if (db_write(dbip, (char *)where, len * sizeof(union record), dp->d_addr + offset * sizeof(union record)) < 0) { - return (size_t)-1; + return -1; } - return (size_t)0; + return 0; } @@ -317,7 +317,7 @@ dp->d_namep, ep, dbip, dp); if ((dp->d_flags & RT_DIR_INMEM) == 0 && dp->d_addr == RT_DIR_PHONY_ADDR) - return(-1); /* was dummy DB entry */ + return -1; /* was dummy DB entry */ BU_INIT_EXTERNAL(ep); if (dbip->dbi_version <= 4) @@ -335,9 +335,9 @@ bu_free(ep->ext_buf, "db_get_ext ext_buf"); ep->ext_buf = (genptr_t)NULL; ep->ext_nbytes = 0; - return(-1); /* VERY BAD */ + return -1; /* VERY BAD */ } - return(0); + return 0; } @@ -375,7 +375,7 @@ if (dbip->dbi_read_only) { bu_log("db_put_external(%s): READ-ONLY file\n", dbip->dbi_filename); - return(-1); + return -1; } if (dbip->dbi_version == 5) @@ -387,10 +387,10 @@ ngran = (ep->ext_nbytes+sizeof(union record)-1)/sizeof(union record); if (ngran != dp->d_len) { if (dp->d_addr != RT_DIR_PHONY_ADDR) { - if (db_delete(dbip, dp) == (size_t)-1) + if (db_delete(dbip, dp)) return -2; } - if (db_alloc(dbip, dp, ngran) == (size_t)-1) { + if (db_alloc(dbip, dp, ngran)) { return -3; } } @@ -411,9 +411,9 @@ } if (db_write(dbip, (char *)ep->ext_buf, ep->ext_nbytes, dp->d_addr) < 0) { - return(-1); + return -1; } - return(0); + return 0; } Modified: brlcad/trunk/src/librt/db_lookup.c =================================================================== --- brlcad/trunk/src/librt/db_lookup.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/librt/db_lookup.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -348,7 +348,7 @@ * * Returns - * 0 on success - * -1 on failure + * non-0 on failure */ int db_dirdelete(struct db_i *dbip, struct directory *dp) @@ -398,7 +398,7 @@ * * Returns - * 0 on success - * -1 on failure + * non-0 on failure */ int db_rename(struct db_i *dbip, struct directory *dp, const char *newname) Modified: brlcad/trunk/src/librt/db_scan.c =================================================================== --- brlcad/trunk/src/librt/db_scan.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/librt/db_scan.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -348,7 +348,7 @@ int db_update_ident( struct db_i *dbip, const char *new_title, double local2mm ) { - size_t put; + int put; struct directory dir; union record rec; char *old_title; @@ -408,11 +408,10 @@ bu_free( old_title, "old dbi_title" ); put = db_put( dbip, &dir, &rec, 0, 1 ); - BU_ASSERT_SIZE_T(put, <, INT_MAX); - return (int)put; - + return put; } + /** * D B _ F W R I T E _ I D E N T * Modified: brlcad/trunk/src/mged/mater.c =================================================================== --- brlcad/trunk/src/mged/mater.c 2010-05-14 20:24:52 UTC (rev 39227) +++ brlcad/trunk/src/mged/mater.c 2010-05-14 20:30:24 UTC (rev 39228) @@ -118,7 +118,8 @@ dir.d_len = 1; dir.d_addr = mp->mt_daddr; dir.d_flags = 0; - if (db_delete(dbip, &dir) < 0) DELETE_ERR_return("color_zaprec"); + if (db_delete(dbip, &dir) != 0) + DELETE_ERR_return("color_zaprec"); mp->mt_daddr = MATER_NO_ADDR; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |