[brlcad-commits] SF.net SVN: brlcad:[55283] brlcad/trunk/src/conv/dbupgrade.c
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <car...@us...> - 2013-05-01 19:31:15
|
Revision: 55283 http://sourceforge.net/p/brlcad/code/55283 Author: carlmoore Date: 2013-05-01 19:31:12 +0000 (Wed, 01 May 2013) Log Message: ----------- shift duplicate code from if-else, remove unneeded 'if (reverse )' from an 'else', and shift logic around to avoid unnecessary creation of output file Modified Paths: -------------- brlcad/trunk/src/conv/dbupgrade.c Modified: brlcad/trunk/src/conv/dbupgrade.c =================================================================== --- brlcad/trunk/src/conv/dbupgrade.c 2013-05-01 19:14:30 UTC (rev 55282) +++ brlcad/trunk/src/conv/dbupgrade.c 2013-05-01 19:31:12 UTC (rev 55283) @@ -42,6 +42,11 @@ #include "rtgeom.h" #include "mater.h" +void +usage (char *name) +{ + fprintf(stderr, "Usage: %s input.g output.g\n", name); +} int main(int argc, char **argv) @@ -74,7 +79,7 @@ rt_init_resource( &rt_uniresource, 0, NULL ); if ( argc != 3 && argc != 4 ) { - fprintf(stderr, "Usage: %s input.g output.g\n", argv[0]); + usage(argv[0]); return 1; } @@ -83,40 +88,17 @@ * currently, can only revert to db version 4 */ if ( !BU_STR_EQUAL( argv[1], "-r" ) ) { - fprintf(stderr, "Usage: %s input.g output.g\n", argv[0]); + usage(argv[0]); return 1; - } else { - reverse = 1; - in_arg = 2; - out_arg = 3; } + reverse = 1; + in_arg = 2; + out_arg = 3; } - if ( !reverse ) { - if ( (dbip = db_open( argv[in_arg], "r" )) == DBI_NULL ) { - perror( argv[in_arg] ); - return 2; - } - - if ( (fp = wdb_fopen( argv[out_arg] )) == NULL ) { - perror( argv[out_arg] ); - return 3; - } - } else { - if ( (dbip = db_open( argv[in_arg], "r" )) == DBI_NULL ) { - perror( argv[in_arg] ); - return 2; - } - if ( (dbip4 = db_create( argv[out_arg], 4 )) == DBI_NULL ) { - bu_log( "Failed to create output database (%s)\n", argv[out_arg] ); - return 3; - } - - if ( (fp = wdb_dbopen( dbip4, RT_WDB_TYPE_DB_DISK )) == RT_WDB_NULL ) { - bu_log( "db_dbopen() failed for %s\n", argv[out_arg] ); - return 4; - } - + if ( (dbip = db_open( argv[in_arg], "r" )) == DBI_NULL ) { + perror( argv[in_arg] ); + return 2; } version = db_version(dbip); @@ -130,14 +112,25 @@ bu_log( "Input database version not recognized!!!!\n" ); return 4; } - } else if ( reverse ) { + if ( (fp = wdb_fopen( argv[out_arg] )) == NULL ) { + perror( argv[out_arg] ); + return 3; + } + } else { if ( version != 5 ) { bu_log( "Can only revert from db version 5\n" ); return 6; } + if ( (dbip4 = db_create( argv[out_arg], 4 )) == DBI_NULL ) { + bu_log( "Failed to create output database (%s)\n", argv[out_arg] ); + return 3; + } + if ( (fp = wdb_dbopen( dbip4, RT_WDB_TYPE_DB_DISK )) == RT_WDB_NULL ) { + bu_log( "db_dbopen() failed for %s\n", argv[out_arg] ); + return 4; + } } - RT_CK_DBI(dbip); if ( db_dirbuild( dbip ) ) bu_exit(1, "db_dirbuild failed\n" ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |