Thread: [brlcad-commits] SF.net SVN: brlcad:[37776] brlcad/trunk/src/libbu (Page 2)
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <br...@us...> - 2010-02-25 21:17:41
|
Revision: 37776 http://brlcad.svn.sourceforge.net/brlcad/?rev=37776&view=rev Author: brlcad Date: 2010-02-25 21:17:34 +0000 (Thu, 25 Feb 2010) Log Message: ----------- apparently the cast is not enough to shut gcc 4.1 up from complaining about write/fwrite return values not being checked. this is failure code, we don't care. Modified Paths: -------------- brlcad/trunk/src/libbu/bomb.c brlcad/trunk/src/libbu/crashreport.c Modified: brlcad/trunk/src/libbu/bomb.c =================================================================== --- brlcad/trunk/src/libbu/bomb.c 2010-02-25 21:12:37 UTC (rev 37775) +++ brlcad/trunk/src/libbu/bomb.c 2010-02-25 21:17:34 UTC (rev 37776) @@ -108,8 +108,9 @@ fd = open("/dev/tty", 1); if (fd > 0) { if (str && (strlen(str) > 0)) { - (void)write(fd, str, strlen(str)); - (void)write(fd, "\n", 1); + int ret; + ret = write(fd, str, strlen(str)); + ret = write(fd, "\n", 1); } close(fd); } @@ -154,7 +155,8 @@ fd = open("/dev/tty", 1); if (fd > 0) { - (void)write(fd, "Causing intentional core dump due to debug flag\n", 48); + int ret; + ret = write(fd, "Causing intentional core dump due to debug flag\n", 48); close(fd); } abort(); /* should dump if ulimit is non-zero */ Modified: brlcad/trunk/src/libbu/crashreport.c =================================================================== --- brlcad/trunk/src/libbu/crashreport.c 2010-02-25 21:12:37 UTC (rev 37775) +++ brlcad/trunk/src/libbu/crashreport.c 2010-02-25 21:17:34 UTC (rev 37776) @@ -107,7 +107,8 @@ fprintf(fp, "\nSystem characteristics:\n"); fflush(fp); while (bu_fgets(buffer, CR_BUFSIZE, popenfp)) { - fwrite(buffer, 1, strlen(buffer), fp); + int ret; + ret = fwrite(buffer, 1, strlen(buffer), fp); } } #if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) @@ -133,10 +134,11 @@ fprintf(fp, "\nSystem information:\n"); fflush(fp); while (bu_fgets(buffer, CR_BUFSIZE, popenfp)) { + int ret; if ((strlen(buffer) == 0) || ((strlen(buffer) == 1) && (buffer[0] == '\n'))) { continue; } - fwrite(buffer, 1, strlen(buffer), fp); + ret = fwrite(buffer, 1, strlen(buffer), fp); } } #if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2010-02-25 21:29:39
|
Revision: 37777 http://brlcad.svn.sourceforge.net/brlcad/?rev=37777&view=rev Author: brlcad Date: 2010-02-25 21:29:31 +0000 (Thu, 25 Feb 2010) Log Message: ----------- more verbose warning quellage due to gcc 4.1 with -O3 being a little more bitchy about checking stdio return values. Modified Paths: -------------- brlcad/trunk/src/libbu/htester.c brlcad/trunk/src/libbu/image.c brlcad/trunk/src/libbu/parallel.c brlcad/trunk/src/libbu/vlb.c Modified: brlcad/trunk/src/libbu/htester.c =================================================================== --- brlcad/trunk/src/libbu/htester.c 2010-02-25 21:17:34 UTC (rev 37776) +++ brlcad/trunk/src/libbu/htester.c 2010-02-25 21:29:31 UTC (rev 37777) @@ -65,6 +65,7 @@ int main(int argc, char **argv) { + int ret; unsigned int i; unsigned int nbytes; int len = sizeof(double); @@ -94,7 +95,7 @@ if (argv[1][1] == 'o') { /* Write out */ htond((unsigned char *)buf, (unsigned char *)orig, NUM); - fwrite(buf, 8, NUM, stdout); + ret = fwrite(buf, 8, NUM, stdout); exit(0); } @@ -111,7 +112,8 @@ bu_bomb("unknown and untested double size\n"); break; } - fread(buf, 8, NUM, stdin); + ret = fread(buf, 8, NUM, stdin); + /* ntohd((char *)after, buf, NUM); *//* bulk conversion */ for (i=0; i<NUM; i++) { ntohd((unsigned char *)&after[i], (unsigned char *)&buf[i*8], 1); /* incremental */ Modified: brlcad/trunk/src/libbu/image.c =================================================================== --- brlcad/trunk/src/libbu/image.c 2010-02-25 21:17:34 UTC (rev 37776) +++ brlcad/trunk/src/libbu/image.c 2010-02-25 21:29:31 UTC (rev 37777) @@ -173,7 +173,10 @@ HIDDEN int pix_save(int fd, unsigned char *rgb, int size) { - write(fd, rgb, (unsigned)size); + int ret; + ret = write(fd, rgb, (unsigned)size); + if (ret != size) + return 0; return 2; } @@ -183,6 +186,7 @@ HIDDEN int bw_save(int fd, unsigned char *rgb, int size) { + int ret; int bwsize = size/3, i; if (bwsize*3 != size) { @@ -196,7 +200,9 @@ for (i=0;i<bwsize;++i) rgb[i] = (int)((float)rgb[i*3]+(float)rgb[i*3+1]+(float)rgb[i*3+2]/3.0); - write(fd, rgb, (unsigned)bwsize); + ret = write(fd, rgb, (unsigned)bwsize); + if (ret != bwsize) + return 0; return 2; } @@ -204,12 +210,15 @@ HIDDEN int ppm_save(int fd, unsigned char *rgb, int width, int height) { + int ret; char buf[BUFSIZ] = {0}; image_flip(rgb, width, height); snprintf(buf, BUFSIZ, "P6 %d %d 255\n", width, height); - write(fd, buf, strlen(buf)); - write(fd, rgb, (size_t)(3*width*height)); + ret = write(fd, buf, strlen(buf)); + ret = write(fd, rgb, (size_t)(3*width*height)); + if (ret != 3*width*height) + return 0; return 2; } Modified: brlcad/trunk/src/libbu/parallel.c =================================================================== --- brlcad/trunk/src/libbu/parallel.c 2010-02-25 21:17:34 UTC (rev 37776) +++ brlcad/trunk/src/libbu/parallel.c 2010-02-25 21:29:31 UTC (rev 37777) @@ -471,10 +471,13 @@ int public_cpus = 1; FILE *fp; - if ((fp = fopen(PUBLIC_CPUS1, "rb")) != NULL || - (fp = fopen(PUBLIC_CPUS2, "rb")) != NULL - ) { - (void)fscanf(fp, "%d", &public_cpus); + if ((fp = fopen(PUBLIC_CPUS1, "rb")) != NULL + || (fp = fopen(PUBLIC_CPUS2, "rb")) != NULL) + { + int ret; + ret = fscanf(fp, "%d", &public_cpus); + if (ret != 1) + public_cpus = 1; fclose(fp); if (public_cpus < 0) public_cpus = avail_cpus + public_cpus; if (public_cpus > avail_cpus) public_cpus = avail_cpus; Modified: brlcad/trunk/src/libbu/vlb.c =================================================================== --- brlcad/trunk/src/libbu/vlb.c 2010-02-25 21:17:34 UTC (rev 37776) +++ brlcad/trunk/src/libbu/vlb.c 2010-02-25 21:29:31 UTC (rev 37777) @@ -112,8 +112,9 @@ void bu_vlb_print(struct bu_vlb *vlb, FILE *fd) { + int ret; BU_CKMAG(vlb, BU_VLB_MAGIC, "magic for bu_vlb"); - fwrite(vlb->buf, 1, vlb->nextByte, fd); + ret = fwrite(vlb->buf, 1, vlb->nextByte, fd); } /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2010-03-31 18:28:21
|
Revision: 38283 http://brlcad.svn.sourceforge.net/brlcad/?rev=38283&view=rev Author: brlcad Date: 2010-03-31 18:28:10 +0000 (Wed, 31 Mar 2010) Log Message: ----------- {msvc is a bit picky about () != (void) with regards to making function sigs match, so expand them out. Modified Paths: -------------- brlcad/trunk/src/libbu/bomb.c brlcad/trunk/src/libbu/temp.c Modified: brlcad/trunk/src/libbu/bomb.c =================================================================== --- brlcad/trunk/src/libbu/bomb.c 2010-03-31 18:27:21 UTC (rev 38282) +++ brlcad/trunk/src/libbu/bomb.c 2010-03-31 18:28:10 UTC (rev 38283) @@ -42,7 +42,7 @@ /* release memory on application exit */ static void -_free_bu_bomb_failsafe() +_free_bu_bomb_failsafe(void) { if (_bu_bomb_failsafe) { free(_bu_bomb_failsafe); @@ -52,7 +52,7 @@ int -bu_bomb_failsafe_init() +bu_bomb_failsafe_init(void) { if (_bu_bomb_failsafe) { return 1; Modified: brlcad/trunk/src/libbu/temp.c =================================================================== --- brlcad/trunk/src/libbu/temp.c 2010-03-31 18:27:21 UTC (rev 38282) +++ brlcad/trunk/src/libbu/temp.c 2010-03-31 18:28:10 UTC (rev 38283) @@ -53,7 +53,7 @@ HIDDEN void -_bu_close_files() +_bu_close_files(void) { struct _bu_tf_list *popped; if (!_bu_tf) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2010-04-13 06:36:27
|
Revision: 38502 http://brlcad.svn.sourceforge.net/brlcad/?rev=38502&view=rev Author: brlcad Date: 2010-04-13 06:36:21 +0000 (Tue, 13 Apr 2010) Log Message: ----------- avoid assignment within conditional expressions to appease the msvc beast and clarify code. Modified Paths: -------------- brlcad/trunk/src/libbu/fnmatch.c brlcad/trunk/src/libbu/getopt.c brlcad/trunk/src/libbu/printb.c brlcad/trunk/src/libbu/units.c brlcad/trunk/src/libbu/vls.c Modified: brlcad/trunk/src/libbu/fnmatch.c =================================================================== --- brlcad/trunk/src/libbu/fnmatch.c 2010-04-13 06:28:45 UTC (rev 38501) +++ brlcad/trunk/src/libbu/fnmatch.c 2010-04-13 06:36:21 UTC (rev 38502) @@ -224,7 +224,9 @@ c = *pattern++; if (c != ']') resultholder = -1; bu_vls_strncpy(&classname, pattern-counter-2, counter); - if ((ctclass = findclass(bu_vls_addr(&classname))) == NULL) { + + ctclass = findclass(bu_vls_addr(&classname)); + if (ctclass == NULL) { bu_log("Unknown character class type: %s\n", bu_vls_addr(&classname)); resultholder = -1; } else { @@ -253,7 +255,8 @@ * consistency with the regular expression syntax. J.T. Conklin * (co...@ng...) */ - if ((negate = (*pattern == '!' || *pattern == '^'))) + negate = (*pattern == '!' || *pattern == '^'); + if (negate) ++pattern; Modified: brlcad/trunk/src/libbu/getopt.c =================================================================== --- brlcad/trunk/src/libbu/getopt.c 2010-04-13 06:28:45 UTC (rev 38501) +++ brlcad/trunk/src/libbu/getopt.c 2010-04-13 06:36:21 UTC (rev 38502) @@ -58,8 +58,11 @@ ++bu_optind; return (EOF); } - } /* option letter okay? */ - if ((bu_optopt = (int)*place++) == (int)':' || !(oli = strchr(ostr, bu_optopt))) { + } /* option letter okay? */ + + bu_optopt = (int)*place++; + oli = strchr(ostr, bu_optopt); + if (bu_optopt == (int)':' || !oli) { ++bu_optind; place = EMSG; tell(": illegal option -- "); Modified: brlcad/trunk/src/libbu/printb.c =================================================================== --- brlcad/trunk/src/libbu/printb.c 2010-04-13 06:28:45 UTC (rev 38501) +++ brlcad/trunk/src/libbu/printb.c 2010-04-13 06:36:21 UTC (rev 38502) @@ -36,7 +36,8 @@ bu_vls_printf(vls, "%s=0%lo <", s, v); else bu_vls_printf(vls, "%s=x%lx <", s, v); - while ((i = *bits++)) { + i = *bits++; + while (i) { if (v & (1L << (i-1))) { if (any) bu_vls_strcat(vls, ","); @@ -46,6 +47,7 @@ } else for (; *bits > 32; bits++) ; + i = *bits++; } bu_vls_strcat(vls, ">"); } Modified: brlcad/trunk/src/libbu/units.c =================================================================== --- brlcad/trunk/src/libbu/units.c 2010-04-13 06:28:45 UTC (rev 38501) +++ brlcad/trunk/src/libbu/units.c 2010-04-13 06:36:21 UTC (rev 38502) @@ -183,11 +183,14 @@ /* Copy the given string, making it lower case */ ip = ubuf; - while ((c = *ip)) { + c = *ip; + while (c) { if (isupper(c)) *ip++ = tolower(c); else ip++; + + c = *ip; } /* Remove any trailing "s" (plural) */ Modified: brlcad/trunk/src/libbu/vls.c =================================================================== --- brlcad/trunk/src/libbu/vls.c 2010-04-13 06:28:45 UTC (rev 38501) +++ brlcad/trunk/src/libbu/vls.c 2010-04-13 06:36:21 UTC (rev 38502) @@ -811,7 +811,8 @@ int stringlen = (int)strlen(str); int left_justify; - if ((left_justify = (fieldlen < 0))) + left_justify = (fieldlen < 0); + if (left_justify) fieldlen *= -1; /* make positive */ if (stringlen >= fieldlen) @@ -854,7 +855,8 @@ int stringlen = bu_vls_strlen(vp); int left_justify; - if ((left_justify = (fieldlen < 0))) + left_justify = (fieldlen < 0); + if (left_justify) fieldlen *= -1; if (stringlen >= fieldlen) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2010-08-27 18:13:14
|
Revision: 40351 http://brlcad.svn.sourceforge.net/brlcad/?rev=40351&view=rev Author: brlcad Date: 2010-08-27 18:13:07 +0000 (Fri, 27 Aug 2010) Log Message: ----------- testing indent.sh. minor ws indent cleanup. Modified Paths: -------------- brlcad/trunk/src/libbu/cmd.c brlcad/trunk/src/libbu/fnmatch.c brlcad/trunk/src/libbu/getopt.c brlcad/trunk/src/libbu/htond.c brlcad/trunk/src/libbu/lex.c brlcad/trunk/src/libbu/malloc.c brlcad/trunk/src/libbu/mappedfile.c brlcad/trunk/src/libbu/parse.c brlcad/trunk/src/libbu/printb.c brlcad/trunk/src/libbu/rb_delete.c brlcad/trunk/src/libbu/rb_internals.h brlcad/trunk/src/libbu/units.c Modified: brlcad/trunk/src/libbu/cmd.c =================================================================== --- brlcad/trunk/src/libbu/cmd.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/cmd.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -48,7 +48,7 @@ Tcl_AppendResult(interp, "unknown command: ", argv[cmd_index], ";", " must be one of: ", (char *)NULL); - missing_cmd: +missing_cmd: for (ctp = cmds; ctp->ct_name != (char *)NULL; ctp++) { Tcl_AppendResult(interp, " ", ctp->ct_name, (char *)NULL); } Modified: brlcad/trunk/src/libbu/fnmatch.c =================================================================== --- brlcad/trunk/src/libbu/fnmatch.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/fnmatch.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -399,7 +399,7 @@ } /* FALLTHROUGH */ default: - normal: + normal: if (c != *string && !((flags & BU_CASEFOLD) && (tolower((unsigned char)c) == tolower((unsigned char)*string)))) Modified: brlcad/trunk/src/libbu/getopt.c =================================================================== --- brlcad/trunk/src/libbu/getopt.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/getopt.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -31,12 +31,12 @@ #define BADCH (int)'?' #define EMSG "" -#define tell(s) if (bu_opterr) { \ - fputs(*nargv, stderr); \ - fputs(s, stderr); \ - fputc(bu_optopt, stderr); \ - fputc('\n', stderr); \ -} return BADCH; +#define tell(s) if (bu_opterr) { \ + fputs(*nargv, stderr); \ + fputs(s, stderr); \ + fputc(bu_optopt, stderr); \ + fputc('\n', stderr); \ + } return BADCH; int Modified: brlcad/trunk/src/libbu/htond.c =================================================================== --- brlcad/trunk/src/libbu/htond.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/htond.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -40,18 +40,18 @@ *out++ = 0; \ continue; } \ -#define OUT_IEEE_NAN { /* Signaling NAN */ \ - *out++ = 0xFF; \ - *out++ = 0xF0; \ - *out++ = 0x0B; \ - *out++ = 0xAD; \ - *out++ = 0x0B; \ - *out++ = 0xAD; \ - *out++ = 0x0B; \ - *out++ = 0xAD; \ - continue; } \ - - +#define OUT_IEEE_NAN { /* Signaling NAN */ \ + *out++ = 0xFF; \ + *out++ = 0xF0; \ + *out++ = 0x0B; \ + *out++ = 0xAD; \ + *out++ = 0x0B; \ + *out++ = 0xAD; \ + *out++ = 0x0B; \ + *out++ = 0xAD; \ + continue; } \ + \ + \ void htond(register unsigned char *out, register const unsigned char *in, size_t count) { @@ -459,14 +459,14 @@ continue; } else if (exp == 0x7FF) { vax_undef: *out++ = 0x80; /* VAX "undefined" */ - *out++ = 0; - *out++ = 0; - *out++ = 0; - *out++ = 0; - *out++ = 0; - *out++ = 0; - *out++ = 0; - continue; + *out++ = 0; + *out++ = 0; + *out++ = 0; + *out++ = 0; + *out++ = 0; + *out++ = 0; + *out++ = 0; + continue; } exp += 129 - 1023; /* Check for exponent out of range */ @@ -507,14 +507,14 @@ signbit = (left & 0x80000000) >> 24; if (exp == 0 || exp == 0x7FF) { ibm_undef: *out++ = 0; /* IBM zero. No NAN */ - *out++ = 0; - *out++ = 0; - *out++ = 0; - *out++ = 0; - *out++ = 0; - *out++ = 0; - *out++ = 0; - continue; + *out++ = 0; + *out++ = 0; + *out++ = 0; + *out++ = 0; + *out++ = 0; + *out++ = 0; + *out++ = 0; + continue; } left = (left & 0x000FFFFF) | 0x00100000;/* replace "hidden" bit */ Modified: brlcad/trunk/src/libbu/lex.c =================================================================== --- brlcad/trunk/src/libbu/lex.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/lex.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -41,7 +41,7 @@ BU_CK_VLS(rtstr); cp = bu_vls_addr(rtstr); - top: +top: if (bu_lex_reading_comment) { for (;;) { register char tc; Modified: brlcad/trunk/src/libbu/malloc.c =================================================================== --- brlcad/trunk/src/libbu/malloc.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/malloc.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -79,7 +79,7 @@ { register struct memdebug *mp = NULL; - top: +top: bu_semaphore_acquire(BU_SEM_SYSCALL); if (bu_memdebug) { @@ -93,7 +93,7 @@ } } - again: +again: if (bu_memdebug) { for (; mp >= bu_memdebug; mp--) { /* Search for an empty slot */ @@ -536,9 +536,9 @@ if (pagesz == 0) pagesz = getpagesize(); -#define OVERHEAD (4*sizeof(unsigned char) + \ - 2*sizeof(unsigned short) + \ - sizeof(unsigned int)) +#define OVERHEAD (4*sizeof(unsigned char) + \ + 2*sizeof(unsigned short) + \ + sizeof(unsigned int)) n = pagesz - OVERHEAD; if (nbytes <= n) return n; Modified: brlcad/trunk/src/libbu/mappedfile.c =================================================================== --- brlcad/trunk/src/libbu/mappedfile.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/mappedfile.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -48,8 +48,8 @@ struct bu_mapped_file * bu_open_mapped_file(const char *name, const char *appl) - /* file name */ - /* non-null only when app. will use 'apbuf' */ +/* file name */ +/* non-null only when app. will use 'apbuf' */ { struct bu_mapped_file *mp = (struct bu_mapped_file *)NULL; #ifdef HAVE_SYS_STAT_H @@ -241,7 +241,7 @@ } return mp; - fail: +fail: if (mp) { bu_free(mp->name, "mp->name"); if (mp->appl) bu_free(mp->appl, "mp->appl"); @@ -342,8 +342,8 @@ struct bu_mapped_file * bu_open_mapped_file_with_path(char *const *path, const char *name, const char *appl) - /* file name */ - /* non-null only when app. will use 'apbuf' */ +/* file name */ +/* non-null only when app. will use 'apbuf' */ { char * const *pathp = path; struct bu_vls str; Modified: brlcad/trunk/src/libbu/parse.c =================================================================== --- brlcad/trunk/src/libbu/parse.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/parse.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -38,77 +38,77 @@ */ #define COMMA ',' -#define CKMEM(_len) { \ - register ssize_t offset; \ - if ((offset = (ep - cp) - (_len)) < 0) { \ - do { \ - offset += ext->ext_nbytes; /* decr by new growth */ \ - ext->ext_nbytes <<= 1; \ - } while (offset < 0); \ - offset = cp - (char *)ext->ext_buf; \ - ext->ext_buf = (genptr_t)bu_realloc((char *) ext->ext_buf, \ - ext->ext_nbytes, "bu_struct_export"); \ - ep = (char *) ext->ext_buf + ext->ext_nbytes; \ - cp = (char *) ext->ext_buf + offset; \ - } \ -} +#define CKMEM(_len) { \ + register ssize_t offset; \ + if ((offset = (ep - cp) - (_len)) < 0) { \ + do { \ + offset += ext->ext_nbytes; /* decr by new growth */ \ + ext->ext_nbytes <<= 1; \ + } while (offset < 0); \ + offset = cp - (char *)ext->ext_buf; \ + ext->ext_buf = (genptr_t)bu_realloc((char *) ext->ext_buf, \ + ext->ext_nbytes, "bu_struct_export"); \ + ep = (char *) ext->ext_buf + ext->ext_nbytes; \ + cp = (char *) ext->ext_buf + offset; \ + } \ + } #define BU_GETPUT_MAGIC_1 0x15cb #define BU_GETPUT_MAGIC_2 0xbc51 -#define BU_INIT_GETPUT_1(_p) { \ - BU_CK_EXTERNAL(_p); \ +#define BU_INIT_GETPUT_1(_p) { \ + BU_CK_EXTERNAL(_p); \ ((unsigned char *) _p->ext_buf)[1] = (BU_GETPUT_MAGIC_1 & 0xFF); \ ((unsigned char *) _p->ext_buf)[0] = (BU_GETPUT_MAGIC_1 >> 8) & 0xFF; \ -} -#define BU_INIT_GETPUT_2(_p, _l) {\ - BU_CK_EXTERNAL(_p); \ + } +#define BU_INIT_GETPUT_2(_p, _l) { \ + BU_CK_EXTERNAL(_p); \ ((unsigned char *) _p->ext_buf)[_l-1] = (BU_GETPUT_MAGIC_2 & 0xFF); \ ((unsigned char *) _p->ext_buf)[_l-2] = (BU_GETPUT_MAGIC_2 >> 8) & 0xFF; \ -} + } -#define BU_CK_GETPUT(_p) {\ - register unsigned long _i; \ - register size_t _len; \ - BU_CK_EXTERNAL(_p); \ - if (!(_p->ext_buf)) { \ - bu_log("ERROR: BU_CK_GETPUT null ext_buf, file %s, line %d\n", \ - __FILE__, __LINE__); \ - bu_bomb("NULL pointer"); \ - } \ - if (_p->ext_nbytes < 6) { \ - bu_log("ERROR: BU_CK_GETPUT buffer only %zu bytes, file %s, line %d\n", \ - _p->ext_nbytes, __FILE__, __LINE__); \ - bu_bomb("getput buffer too small"); \ - } \ - _i = (((unsigned char *)(_p->ext_buf))[0] << 8) | \ - ((unsigned char *)(_p->ext_buf))[1]; \ - if (_i != BU_GETPUT_MAGIC_1) { \ - bu_log("ERROR: BU_CK_GETPUT buffer %p, magic1 s/b %x, was %s(0x%lx), file %s, line %d\n", \ - (void *)_p->ext_buf, BU_GETPUT_MAGIC_1, \ - bu_identify_magic(_i), _i, __FILE__, __LINE__); \ - bu_bomb("Bad getput buffer"); \ - } \ - _len = (((unsigned char *)(_p->ext_buf))[2] << 24) | \ - (((unsigned char *)(_p->ext_buf))[3] << 16) | \ - (((unsigned char *)(_p->ext_buf))[4] << 8) | \ - ((unsigned char *)(_p->ext_buf))[5]; \ - if (_len > _p->ext_nbytes) { \ - bu_log("ERROR: BU_CK_GETPUT buffer %p, expected len=%zu, ext_nbytes=%zu, file %s, line %d\n", \ - (void *)_p->ext_buf, (size_t)_len, _p->ext_nbytes, \ - __FILE__, __LINE__); \ - bu_bomb("Bad getput buffer"); \ - } \ - _i = (((unsigned char *)(_p->ext_buf))[_len-2] << 8) | \ - ((unsigned char *)(_p->ext_buf))[_len-1]; \ - if (_i != BU_GETPUT_MAGIC_2) { \ - bu_log("ERROR: BU_CK_GETPUT buffer %p, magic2 s/b %x, was %s(0x%lx), file %s, line %d\n", \ - (void *)_p->ext_buf, BU_GETPUT_MAGIC_2, \ - bu_identify_magic(_i), _i, __FILE__, __LINE__); \ - bu_bomb("Bad getput buffer"); \ - } \ -} +#define BU_CK_GETPUT(_p) { \ + register unsigned long _i; \ + register size_t _len; \ + BU_CK_EXTERNAL(_p); \ + if (!(_p->ext_buf)) { \ + bu_log("ERROR: BU_CK_GETPUT null ext_buf, file %s, line %d\n", \ + __FILE__, __LINE__); \ + bu_bomb("NULL pointer"); \ + } \ + if (_p->ext_nbytes < 6) { \ + bu_log("ERROR: BU_CK_GETPUT buffer only %zu bytes, file %s, line %d\n", \ + _p->ext_nbytes, __FILE__, __LINE__); \ + bu_bomb("getput buffer too small"); \ + } \ + _i = (((unsigned char *)(_p->ext_buf))[0] << 8) | \ + ((unsigned char *)(_p->ext_buf))[1]; \ + if (_i != BU_GETPUT_MAGIC_1) { \ + bu_log("ERROR: BU_CK_GETPUT buffer %p, magic1 s/b %x, was %s(0x%lx), file %s, line %d\n", \ + (void *)_p->ext_buf, BU_GETPUT_MAGIC_1, \ + bu_identify_magic(_i), _i, __FILE__, __LINE__); \ + bu_bomb("Bad getput buffer"); \ + } \ + _len = (((unsigned char *)(_p->ext_buf))[2] << 24) | \ + (((unsigned char *)(_p->ext_buf))[3] << 16) | \ + (((unsigned char *)(_p->ext_buf))[4] << 8) | \ + ((unsigned char *)(_p->ext_buf))[5]; \ + if (_len > _p->ext_nbytes) { \ + bu_log("ERROR: BU_CK_GETPUT buffer %p, expected len=%zu, ext_nbytes=%zu, file %s, line %d\n", \ + (void *)_p->ext_buf, (size_t)_len, _p->ext_nbytes, \ + __FILE__, __LINE__); \ + bu_bomb("Bad getput buffer"); \ + } \ + _i = (((unsigned char *)(_p->ext_buf))[_len-2] << 8) | \ + ((unsigned char *)(_p->ext_buf))[_len-1]; \ + if (_i != BU_GETPUT_MAGIC_2) { \ + bu_log("ERROR: BU_CK_GETPUT buffer %p, magic2 s/b %x, was %s(0x%lx), file %s, line %d\n", \ + (void *)_p->ext_buf, BU_GETPUT_MAGIC_2, \ + bu_identify_magic(_i), _i, __FILE__, __LINE__); \ + bu_bomb("Bad getput buffer"); \ + } \ + } int @@ -594,10 +594,10 @@ */ HIDDEN int _bu_struct_lookup(register const struct bu_structparse *sdp, register const char *name, const char *base, const char *const value) - /* structure description */ - /* struct member name */ - /* begining of structure */ - /* string containing value */ +/* structure description */ +/* struct member name */ +/* begining of structure */ +/* string containing value */ { register char *loc; size_t i; @@ -789,9 +789,9 @@ int bu_struct_parse(const struct bu_vls *in_vls, const struct bu_structparse *desc, const char *base) - /* string to parse through */ - /* structure description */ - /* base addr of users struct */ +/* string to parse through */ +/* structure description */ +/* base addr of users struct */ { struct bu_vls vls; register char *cp; @@ -939,9 +939,9 @@ void bu_vls_struct_item(struct bu_vls *vp, const struct bu_structparse *sdp, const char *base, int sep_char) - /* item description */ - /* base address of users structure */ - /* value separator */ +/* item description */ +/* base address of users structure */ +/* value separator */ { register char *loc; @@ -1050,8 +1050,8 @@ void bu_struct_print(const char *title, const struct bu_structparse *parsetab, const char *base) - /* structure description */ - /* base address of users structure */ +/* structure description */ +/* base address of users structure */ { register const struct bu_structparse *sdp; register char *loc; @@ -1220,9 +1220,9 @@ void bu_vls_struct_print(struct bu_vls *vls, register const struct bu_structparse *sdp, const char *base) - /* vls to print into */ - /* structure description */ - /* structure ponter */ +/* vls to print into */ +/* structure description */ +/* structure ponter */ { register char *loc; register int lastoff = -1; @@ -1573,10 +1573,10 @@ void bu_parse_mm(const struct bu_structparse *sdp, const char *name, char *base, const char *value) - /* structure description */ - /* struct member name */ - /* begining of structure */ - /* string containing value */ +/* structure description */ +/* struct member name */ +/* begining of structure */ +/* string containing value */ { double *p = (double *)(base+sdp->sp_offset); @@ -2536,10 +2536,10 @@ break; } case 'p': - { - /* Indirect to another structure */ - /* FIXME: unimplemented */ - } + { + /* Indirect to another structure */ + /* FIXME: unimplemented */ + } default: { bu_vls_printf(logstr, Modified: brlcad/trunk/src/libbu/printb.c =================================================================== --- brlcad/trunk/src/libbu/printb.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/printb.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -46,7 +46,7 @@ bu_vls_printf(vls, "%c", c); } else for (; *bits > 32; bits++) - ; + ; i = *bits++; } bu_vls_strcat(vls, ">"); Modified: brlcad/trunk/src/libbu/rb_delete.c =================================================================== --- brlcad/trunk/src/libbu/rb_delete.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/rb_delete.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -83,7 +83,7 @@ rb_set_color(w, order, rb_get_color(parent, order)); rb_set_color(parent, order, RB_BLK); rb_set_color(rb_other_child(w, order, direction), - order, RB_BLK); + order, RB_BLK); rb_rotate(parent, order, direction); node = rb_root(tree, order); } Modified: brlcad/trunk/src/libbu/rb_internals.h =================================================================== --- brlcad/trunk/src/libbu/rb_internals.h 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/rb_internals.h 2010-08-27 18:13:07 UTC (rev 40351) @@ -40,12 +40,12 @@ * This internal macro has two parameters: a tree and an order number. * It ensures that the order number is valid for the tree. */ -#define RB_CKORDER(t, o) \ - if (((o) < 0) || ((o) >= (t)->rbt_nm_orders)) { \ - char buf[128] = {0}; \ +#define RB_CKORDER(t, o) \ + if (((o) < 0) || ((o) >= (t)->rbt_nm_orders)) { \ + char buf[128] = {0}; \ snprintf(buf, 128, "ERROR: Order %d outside 0..%d (nm_orders-1), file %s, line %d\n", \ - (o), (t)->rbt_nm_orders - 1, __FILE__, __LINE__); \ - bu_bomb(buf); \ + (o), (t)->rbt_nm_orders - 1, __FILE__, __LINE__); \ + bu_bomb(buf); \ } /* @@ -57,12 +57,12 @@ #define rb_current(t) ((t)->rbt_current) #define rb_null(t) ((t)->rbt_empty_node) #define rb_get_uniqueness(t, o) ((((t)->rbt_unique)[(o)/8] & (0x1 << ((o) % 8))) ? 1 : 0) -#define rb_set_uniqueness(t, o, u) { \ - int _b = (o) / 8; \ - int _p = (o) - _b * 8; \ - ((t)->rbt_unique)[_b] &= ~(0x1 << _p); \ - ((t)->rbt_unique)[_b] |= (u) << _p; \ -} +#define rb_set_uniqueness(t, o, u) { \ + int _b = (o) / 8; \ + int _p = (o) - _b * 8; \ + ((t)->rbt_unique)[_b] &= ~(0x1 << _p); \ + ((t)->rbt_unique)[_b] |= (u) << _p; \ + } /* * Access functions for fields of (struct bu_rb_node) @@ -72,21 +72,21 @@ #define rb_right_child(n, o) (((n)->rbn_right)[o]) #define RB_LEFT 0 #define RB_RIGHT 1 -#define rb_child(n, o, d) (((d) == RB_LEFT) ? \ - rb_left_child((n), (o)) : \ - rb_right_child((n), (o))) -#define rb_other_child(n, o, d) (((d) == RB_LEFT) ? \ - rb_right_child((n), (o)) : \ - rb_left_child((n), (o))) +#define rb_child(n, o, d) (((d) == RB_LEFT) ? \ + rb_left_child((n), (o)) : \ + rb_right_child((n), (o))) +#define rb_other_child(n, o, d) (((d) == RB_LEFT) ? \ + rb_right_child((n), (o)) : \ + rb_left_child((n), (o))) #define rb_size(n, o) (((n)->rbn_size)[o]) -#define rb_get_color(n, o) \ +#define rb_get_color(n, o) \ ((((n)->rbn_color)[(o)/8] & (0x1 << ((o) % 8))) ? 1 : 0) -#define rb_set_color(n, o, c) { \ - int _b = (o) / 8; \ - int _p = (o) - _b * 8; \ - ((n)->rbn_color)[_b] &= ~(0x1 << _p); \ - ((n)->rbn_color)[_b] |= (c) << _p; \ -} +#define rb_set_color(n, o, c) { \ + int _b = (o) / 8; \ + int _p = (o) - _b * 8; \ + ((n)->rbn_color)[_b] &= ~(0x1 << _p); \ + ((n)->rbn_color)[_b] |= (c) << _p; \ + } #define RB_RED 0 #define RB_BLK 1 #define rb_data(n, o) (((n)->rbn_package)[o]->rbp_data) @@ -105,9 +105,9 @@ * the order to be rotated, and the direction of rotation. They allow * indirection in the use of rb_rot_left() and rb_rot_right(). */ -#define rb_rotate(n, o, d) (((d) == RB_LEFT) ? \ - rb_rot_left((n), (o)) : \ - rb_rot_right((n), (o))) +#define rb_rotate(n, o, d) (((d) == RB_LEFT) ? \ + rb_rot_left((n), (o)) : \ + rb_rot_right((n), (o))) /** * B U _ R B _ O T H E R _ R O T A T E @@ -116,9 +116,9 @@ * the order to be rotated, and the direction of rotation. They allow * indirection in the use of rb_rot_left() and rb_rot_right(). */ -#define rb_other_rotate(n, o, d) (((d) == RB_LEFT) ? \ - rb_rot_right((n), (o)) : \ - rb_rot_left((n), (o))) +#define rb_other_rotate(n, o, d) (((d) == RB_LEFT) ? \ + rb_rot_right((n), (o)) : \ + rb_rot_left((n), (o))) /* * Functions internal to LIBREDBLACK Modified: brlcad/trunk/src/libbu/units.c =================================================================== --- brlcad/trunk/src/libbu/units.c 2010-08-27 18:07:05 UTC (rev 40350) +++ brlcad/trunk/src/libbu/units.c 2010-08-27 18:13:07 UTC (rev 40351) @@ -342,10 +342,10 @@ void bu_mm_cvt(register const struct bu_structparse *sdp, register const char *name, char *base, const char *value) - /* structure description */ - /* struct member name */ - /* begining of structure */ - /* string containing value */ +/* structure description */ +/* struct member name */ +/* begining of structure */ +/* string containing value */ { register double *p = (double *)(base+sdp->sp_offset); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2010-08-27 18:17:22
|
Revision: 40352 http://brlcad.svn.sourceforge.net/brlcad/?rev=40352&view=rev Author: brlcad Date: 2010-08-27 18:17:13 +0000 (Fri, 27 Aug 2010) Log Message: ----------- more cleanup (via ws.sh) to remove trailing line ws and insert embedded tabs. Modified Paths: -------------- brlcad/trunk/src/libbu/Makefile.am brlcad/trunk/src/libbu/backtrace.c brlcad/trunk/src/libbu/brlcad_path.c brlcad/trunk/src/libbu/fnmatch.c brlcad/trunk/src/libbu/image.c brlcad/trunk/src/libbu/list.c brlcad/trunk/src/libbu/quote.c brlcad/trunk/src/libbu/uce-dirent.h brlcad/trunk/src/libbu/vls.c Modified: brlcad/trunk/src/libbu/Makefile.am =================================================================== --- brlcad/trunk/src/libbu/Makefile.am 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/Makefile.am 2010-08-27 18:17:13 UTC (rev 40352) @@ -72,7 +72,7 @@ units.c \ vers.c \ vfont.c \ - vlb.c \ + vlb.c \ vls.c \ whereis.c \ which.c \ Modified: brlcad/trunk/src/libbu/backtrace.c =================================================================== --- brlcad/trunk/src/libbu/backtrace.c 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/backtrace.c 2010-08-27 18:17:13 UTC (rev 40352) @@ -53,7 +53,7 @@ extern int kill(pid_t, int); #endif -#ifndef fileno +#ifndef fileno extern int fileno(FILE*); #endif Modified: brlcad/trunk/src/libbu/brlcad_path.c =================================================================== --- brlcad/trunk/src/libbu/brlcad_path.c 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/brlcad_path.c 2010-08-27 18:17:13 UTC (rev 40352) @@ -87,7 +87,7 @@ ipwd = getenv("PWD"); /* not our memory to free */ if (!ipwd) - ipwd = bu_which("pwd"); + ipwd = bu_which("pwd"); if (ipwd) { #if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) Modified: brlcad/trunk/src/libbu/fnmatch.c =================================================================== --- brlcad/trunk/src/libbu/fnmatch.c 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/fnmatch.c 2010-08-27 18:17:13 UTC (rev 40352) @@ -222,7 +222,7 @@ if (c == BU_FNM_EOS) resultholder = -1; counter++; - c = *pattern++; /* next */ + c = *pattern++; /* next */ } c = *pattern++; if (c != ']') resultholder = -1; Modified: brlcad/trunk/src/libbu/image.c =================================================================== --- brlcad/trunk/src/libbu/image.c 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/image.c 2010-08-27 18:17:13 UTC (rev 40352) @@ -340,7 +340,7 @@ close(bif->fd); break; } - + bu_free(bif->filename, "bu_image_file filename"); bu_free(bif->data, "bu_image_file data"); bu_free(bif, "bu_image_file"); Modified: brlcad/trunk/src/libbu/list.c =================================================================== --- brlcad/trunk/src/libbu/list.c 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/list.c 2010-08-27 18:17:13 UTC (rev 40352) @@ -171,7 +171,7 @@ void *formagic = (void *)(ptrdiff_t)cur->forw->magic; void *hdmagic = (void *)(ptrdiff_t)hd->magic; bu_log("bu_ck_list(%s) cur magic=(%s)%p, cur->forw magic=(%s)%p, hd magic=(%s)%p, item=%d\n", - str, + str, bu_identify_magic(cur->magic), curmagic, bu_identify_magic(cur->forw->magic), formagic, bu_identify_magic(hd->magic), hdmagic, Modified: brlcad/trunk/src/libbu/quote.c =================================================================== --- brlcad/trunk/src/libbu/quote.c 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/quote.c 2010-08-27 18:17:13 UTC (rev 40352) @@ -45,7 +45,7 @@ bu_vls_putc(vp, ESCAPE); } bu_vls_putc(vp, *str); - } + } } else { /* argv elements has spaces, quote it */ bu_vls_putc(vp, DQUOTE); Modified: brlcad/trunk/src/libbu/uce-dirent.h =================================================================== --- brlcad/trunk/src/libbu/uce-dirent.h 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/uce-dirent.h 2010-08-27 18:17:13 UTC (rev 40352) @@ -1,8 +1,8 @@ /* * uce-dirent.h - operating system independent dirent implementation - * + * * Copyright (C) 1998-2002 Toni Ronkko - * + * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * ``Software''), to deal in the Software without restriction, including @@ -10,10 +10,10 @@ * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: - * + * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. @@ -21,8 +21,8 @@ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. - * - * + * + * * May 28 1998, Toni Ronkko <tr...@me...> * * $Id: uce-dirent.h,v 1.7 2002/05/13 10:48:35 tr Exp $ @@ -58,7 +58,7 @@ * Revision 1.1 1998/07/04 16:27:51 tr * Initial revision * - * + * * MSVC 1.0 scans automatic dependencies incorrectly when your project * contains this very header. The problem is that MSVC cannot handle * include directives inside #if..#endif block those are never entered. @@ -320,7 +320,7 @@ * internal working area that is used for retrieving individual directory * entries. The internal working area has no fields of your interest. * - * <ret>Returns a pointer to the internal working area or NULL in case the + * <ret>Returns a pointer to the internal working area or NULL in case the * directory stream could not be opened. Global `errno' variable will set * in case of error as follows: * @@ -343,11 +343,11 @@ { DIR *dirp; assert (dirname != NULL); - + dirp = (DIR*)malloc (sizeof (struct DIR)); if (dirp != NULL) { char *p; - + /* allocate room for directory name */ dirp->dirname = (char*) malloc (strlen (dirname) + 1 + strlen ("\\*.*")); if (dirp->dirname == NULL) { @@ -362,7 +362,7 @@ strcpy (dirp->dirname, dirname); p = strchr (dirp->dirname, '\0'); if (dirp->dirname < p && - *(p - 1) != '\\' && *(p - 1) != '/' && *(p - 1) != ':') + *(p - 1) != '\\' && *(p - 1) != '/' && *(p - 1) != ':') { strcpy (p++, "\\"); } @@ -506,7 +506,7 @@ */ static int closedir (DIR *dirp) -{ +{ int retcode = 0; /* make sure that dirp points to legal structure */ @@ -515,7 +515,7 @@ errno = EBADF; return -1; } - + /* free directory name and search handles */ if (dirp->dirname != NULL) free (dirp->dirname); @@ -527,7 +527,7 @@ errno = EBADF; } } -#endif +#endif /* clear dirp structure to make sure that it cannot be used anymore*/ memset (dirp, 0, sizeof (*dirp)); @@ -563,7 +563,7 @@ */ static void rewinddir (DIR *dirp) -{ +{ /* make sure that dirp is legal */ assert (dirp != NULL); if (dirp == NULL) { @@ -571,7 +571,7 @@ return; } assert (dirp->dirname != NULL); - + /* close previous stream */ #if defined(DIRENT_WIN32_INTERFACE) if (dirp->search_handle != INVALID_HANDLE_VALUE) { @@ -597,7 +597,7 @@ */ static int _initdir (DIR *dirp) -{ +{ assert (dirp != NULL); assert (dirp->dirname != NULL); dirp->dirent_filled = 0; @@ -615,10 +615,10 @@ # elif defined(DIRENT_MSDOS_INTERFACE) if (_dos_findfirst (dirp->dirname, - _A_SUBDIR | _A_RDONLY | _A_ARCH | _A_SYSTEM | _A_HIDDEN, - &dirp->current.data) != 0) + _A_SUBDIR | _A_RDONLY | _A_ARCH | _A_SYSTEM | _A_HIDDEN, + &dirp->current.data) != 0) { - /* _dos_findfirst and findfirst will set errno to ENOENT when no + /* _dos_findfirst and findfirst will set errno to ENOENT when no * more entries could be retrieved. */ return 0; } @@ -639,13 +639,13 @@ { #if defined(DIRENT_WIN32_INTERFACE) return dp->data.cFileName; - + #elif defined(DIRENT_USE_FFBLK) return dp->data.ff_name; - + #else return dp->data.name; -#endif +#endif } @@ -656,13 +656,13 @@ _setdirname (struct DIR *dirp) { /* make sure that d_name is long enough */ assert (strlen (_getdirname (&dirp->current)) <= NAME_MAX); - + strncpy (dirp->current.d_name, _getdirname (&dirp->current), NAME_MAX); dirp->current.d_name[NAME_MAX] = '\0'; /*char d_name[NAME_MAX+1]*/ } - + # ifdef __cplusplus } # endif @@ -674,4 +674,3 @@ #endif /*DIRENT_H*/ - Modified: brlcad/trunk/src/libbu/vls.c =================================================================== --- brlcad/trunk/src/libbu/vls.c 2010-08-27 18:13:07 UTC (rev 40351) +++ brlcad/trunk/src/libbu/vls.c 2010-08-27 18:17:13 UTC (rev 40352) @@ -703,7 +703,7 @@ BU_CK_VLS(vp); /* Remove trailing white space */ - while ((vp->vls_len > 0) && + while ((vp->vls_len > 0) && isspace(bu_vls_addr(vp)[bu_vls_strlen(vp)-1])) bu_vls_trunc(vp, -1); @@ -1030,14 +1030,14 @@ case 'n': case 'p': /* all pointer == "void *" */ - { + { void *vp; vp = (void *)va_arg(ap, void *); if (flags & FIELDLEN) snprintf(buf, BUFSIZ, fbuf, fieldlen, vp); else snprintf(buf, BUFSIZ, fbuf, vp); - } + } bu_vls_strcat(vls, buf); break; case '%': This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2010-10-19 00:11:54
|
Revision: 41067 http://brlcad.svn.sourceforge.net/brlcad/?rev=41067&view=rev Author: brlcad Date: 2010-10-19 00:11:47 +0000 (Tue, 19 Oct 2010) Log Message: ----------- LIKELY/UNLIKELY macros expect an integer argument, so compare against NULL since that's what's implied. fixes strict build warning. Modified Paths: -------------- brlcad/trunk/src/libbu/avs.c brlcad/trunk/src/libbu/fopen_uniq.c brlcad/trunk/src/libbu/log.c brlcad/trunk/src/libbu/malloc.c brlcad/trunk/src/libbu/parse.c Modified: brlcad/trunk/src/libbu/avs.c =================================================================== --- brlcad/trunk/src/libbu/avs.c 2010-10-18 22:33:20 UTC (rev 41066) +++ brlcad/trunk/src/libbu/avs.c 2010-10-19 00:11:47 UTC (rev 41067) @@ -238,7 +238,7 @@ } avsp->count = 0; } - if (LIKELY(avsp->avp)) { + if (LIKELY(avsp->avp != NULL)) { bu_free((genptr_t)avsp->avp, "bu_avs_free avsp->avp"); avsp->avp = NULL; /* sanity */ avsp->max = 0; @@ -274,9 +274,9 @@ BU_CK_AVS(avsp); - /* don't even try */ - if (!name) { - if (UNLIKELY(value)) { + /* nothing to do */ + if (UNLIKELY(name == NULL)) { + if (UNLIKELY(value != NULL)) { bu_log("WARNING: bu_avs_add_nonunique given NULL name and non-null value\n"); } return; Modified: brlcad/trunk/src/libbu/fopen_uniq.c =================================================================== --- brlcad/trunk/src/libbu/fopen_uniq.c 2010-10-18 22:33:20 UTC (rev 41066) +++ brlcad/trunk/src/libbu/fopen_uniq.c 2010-10-19 00:11:47 UTC (rev 41067) @@ -50,7 +50,7 @@ int fd; FILE *fp; - if (UNLIKELY(! namefmt || ! *namefmt)) + if (UNLIKELY(!namefmt || !*namefmt)) bu_bomb("bu_uniq_file called with null string\n"); bu_semaphore_acquire(BU_SEM_SYSCALL); @@ -70,7 +70,7 @@ fprintf(stderr, "%s", strerror(errno)); } - if (LIKELY(outfmt)) + if (LIKELY(outfmt != NULL)) fprintf(stderr, outfmt, filename); bu_semaphore_release(BU_SEM_SYSCALL); Modified: brlcad/trunk/src/libbu/log.c =================================================================== --- brlcad/trunk/src/libbu/log.c 2010-10-18 22:33:20 UTC (rev 41066) +++ brlcad/trunk/src/libbu/log.c 2010-10-19 00:11:47 UTC (rev 41067) @@ -111,7 +111,7 @@ if (BU_LIST_IS_EMPTY(&(bu_log_hook_list.l))) { - if (LIKELY(stderr)) { + if (LIKELY(stderr != NULL)) { ret = fputc(c, stderr); } @@ -185,7 +185,7 @@ return; } - if (LIKELY(stderr)) { + if (LIKELY(stderr != NULL)) { bu_semaphore_acquire(BU_SEM_SYSCALL); ret = fwrite(bu_vls_addr(&output), len, 1, stderr); fflush(stderr); Modified: brlcad/trunk/src/libbu/malloc.c =================================================================== --- brlcad/trunk/src/libbu/malloc.c 2010-10-18 22:33:20 UTC (rev 41066) +++ brlcad/trunk/src/libbu/malloc.c 2010-10-19 00:11:47 UTC (rev 41067) @@ -82,7 +82,7 @@ top: bu_semaphore_acquire(BU_SEM_SYSCALL); - if (LIKELY(bu_memdebug)) { + if (LIKELY(bu_memdebug != NULL)) { mp = &bu_memdebug[bu_memdebug_len-1]; if (bu_memdebug_lowat > bu_memdebug && bu_memdebug_lowat < mp) @@ -94,7 +94,7 @@ } again: - if (LIKELY(bu_memdebug)) { + if (LIKELY(bu_memdebug != NULL)) { for (; mp >= bu_memdebug; mp--) { /* Search for an empty slot */ if (mp->mdb_len > 0) continue; Modified: brlcad/trunk/src/libbu/parse.c =================================================================== --- brlcad/trunk/src/libbu/parse.c 2010-10-18 22:33:20 UTC (rev 41066) +++ brlcad/trunk/src/libbu/parse.c 2010-10-19 00:11:47 UTC (rev 41067) @@ -2151,7 +2151,7 @@ bu_free_external(register struct bu_external *ep) { BU_CK_EXTERNAL(ep); - if (LIKELY(ep->ext_buf)) { + if (LIKELY(ep->ext_buf != NULL)) { bu_free(ep->ext_buf, "bu_external ext_buf"); ep->ext_buf = GENPTR_NULL; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2010-11-12 21:58:22
|
Revision: 41342 http://brlcad.svn.sourceforge.net/brlcad/?rev=41342&view=rev Author: brlcad Date: 2010-11-12 21:58:16 +0000 (Fri, 12 Nov 2010) Log Message: ----------- unbreak build due to type warnings. fixit. Modified Paths: -------------- brlcad/trunk/src/libbu/malloc.c brlcad/trunk/src/libbu/tcl.c Modified: brlcad/trunk/src/libbu/malloc.c =================================================================== --- brlcad/trunk/src/libbu/malloc.c 2010-11-12 21:52:30 UTC (rev 41341) +++ brlcad/trunk/src/libbu/malloc.c 2010-11-12 21:58:16 UTC (rev 41342) @@ -441,7 +441,7 @@ * requested memory and we need to bomb. */ if (UNLIKELY(!ptr)) { - fprintf(stderr, "bu_realloc(): unable to allocate requested memory of size %d, %s\n", siz, str); + fprintf(stderr, "bu_realloc(): unable to allocate requested memory of size %ld, %s\n", siz, str); bu_bomb("bu_realloc(): unable to allocate requested memory.\n"); } Modified: brlcad/trunk/src/libbu/tcl.c =================================================================== --- brlcad/trunk/src/libbu/tcl.c 2010-11-12 21:52:30 UTC (rev 41341) +++ brlcad/trunk/src/libbu/tcl.c 2010-11-12 21:58:16 UTC (rev 41342) @@ -317,7 +317,7 @@ snprintf(buf, TINYBUFSIZ, "%d", listc); Tcl_AppendResult(interp, "bu_get_value_by_keyword: odd # of items in list (", buf, ").\n", (char *)NULL); if (tofree) - Tcl_Free(tofree); /* not bu_free() */ + Tcl_Free((char *)tofree); /* not bu_free() */ return TCL_ERROR; } @@ -337,7 +337,7 @@ Tcl_AppendResult(interp, listv[i+1], (char *)NULL); } if (tofree) - Tcl_Free(tofree); /* not bu_free() */ + Tcl_Free((char *)tofree); /* not bu_free() */ return TCL_OK; } } @@ -345,7 +345,7 @@ /* Not found */ Tcl_AppendResult(interp, "bu_get_value_by_keyword: keyword '", iwant, "' not found in list\n", (char *)NULL); if (tofree) - Tcl_Free(tofree); /* not bu_free() */ + Tcl_Free((char *)tofree); /* not bu_free() */ return TCL_ERROR; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2011-01-05 23:15:12
|
Revision: 41966 http://brlcad.svn.sourceforge.net/brlcad/?rev=41966&view=rev Author: starseeker Date: 2011-01-05 23:15:05 +0000 (Wed, 05 Jan 2011) Log Message: ----------- Make a stab at converting bzflag's time code into something we can use in libbu. Not much here yet except the 'get the time in milliseconds' logic, and not sure if it works on Windows. Modified Paths: -------------- brlcad/trunk/src/libbu/Makefile.am Added Paths: ----------- brlcad/trunk/src/libbu/timer.c brlcad/trunk/src/libbu/timetester.c Modified: brlcad/trunk/src/libbu/Makefile.am =================================================================== --- brlcad/trunk/src/libbu/Makefile.am 2011-01-05 23:10:04 UTC (rev 41965) +++ brlcad/trunk/src/libbu/Makefile.am 2011-01-05 23:15:05 UTC (rev 41966) @@ -2,7 +2,7 @@ lib_LTLIBRARIES = libbu.la noinst_LTLIBRARIES = libbu_nil.la -noinst_PROGRAMS = htester +noinst_PROGRAMS = htester libbu_nil_la_SOURCES = \ argv.c \ @@ -70,6 +70,7 @@ str.c \ tcl.c \ temp.c \ + timer.c \ units.c \ vers.c \ vfont.c \ @@ -101,6 +102,7 @@ EXTRA_DIST = \ $(man_MANS) \ + timetester.c CMakeLists.txt AM_CPPFLAGS = \ Added: brlcad/trunk/src/libbu/timer.c =================================================================== --- brlcad/trunk/src/libbu/timer.c (rev 0) +++ brlcad/trunk/src/libbu/timer.c 2011-01-05 23:15:05 UTC (rev 41966) @@ -0,0 +1,160 @@ +/* T I M E R . C + * BRL-CAD + * + * Copyright (c) 2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * Copyright (c) Tim Riker + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <time.h> +#if !defined(_WIN32) +# ifdef HAVE_SYS_TIME_H +# include <sys/time.h> +# endif +# ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +# endif +# ifdef HAVE_SCHED_H +# include <sched.h> +# endif +static int64_t lastTime = 0; +#else /* !defined(_WIN32) */ +# include <mmsystem.h> +static unsigned long int lastTime = 0; +static LARGE_INTEGER qpcLastTime; +static LONGLONG qpcFrequency = 0; +static LONGLONG qpcLastCalibration; +static DWORD timeLastCalibration; +#endif /* !defined(_WIN32) */ + +static int64_t currentTime = 0; + +#include "bu.h" + +#if !defined(_WIN32) +static inline int64_t getEpochMicroseconds() +{ + struct timeval nowTime; + gettimeofday(&nowTime, NULL); + return ((int64_t)nowTime.tv_sec * (int64_t)1000000 + + (int64_t)nowTime.tv_usec); +} +#endif + +int64_t bu_gettime(void) +{ +#if !defined(_WIN32) + if (lastTime == 0) { + lastTime = getEpochMicroseconds(); + currentTime += lastTime; /* sync with system clock */ + } + else { + const int64_t nowTime = getEpochMicroseconds(); + + const int64_t diff = (nowTime - lastTime); + + if (diff > 0) { + /* add to currentTime */ + currentTime += diff; + } + else if (diff < 0) { + /* eh, how'd we go back in time? */ + bu_log("WARNING: went back in time %lli microseconds\n", (long long int)diff); + } + + lastTime = nowTime; + } + +#else /* !defined(_WIN32) */ + static bool inited = false; + if (!inited) { + inited = true; + InitializeCriticalSection(&timer_critical); + } + + if (qpcFrequency != 0) { + /* main timer is qpc */ + LARGE_INTEGER now; + QueryPerformanceCounter(&now); + + LONGLONG diff = now.QuadPart - qpcLastTime.QuadPart; + LONGLONG clkSpent = now.QuadPart - qpcLastCalibration; + qpcLastTime = now; + + if (clkSpent > qpcFrequency) { + /* Recalibrate Frequency */ + DWORD tgt = timeGetTime(); + DWORD deltaTgt = tgt - timeLastCalibration; + timeLastCalibration = tgt; + qpcLastCalibration = now.QuadPart; + if (deltaTgt > 0) { + LONGLONG oldqpcfreq = qpcFrequency; + qpcFrequency = (clkSpent * 1000) / deltaTgt; + if (qpcFrequency != oldqpcfreq) + bu_log("Recalibrated QPC frequency. Old: %f ; New: %f\n", + (double)oldqpcfreq, (double)qpcFrequency); + } + } + + currentTime += (int64_t)((double) diff / (double) qpcFrequency); + } + else { + static bool sane = true; + + /* should only get into here once on app start */ + if (!sane) { + bu_log("Sanity check failure in bu_gettime()\n"); + } + sane = false; + + /* make sure we're at our best timer resolution possible */ + timeBeginPeriod(1); + + LARGE_INTEGER freq; + if (QueryPerformanceFrequency(&freq)) { + QueryPerformanceCounter(&qpcLastTime); + qpcFrequency = freq.QuadPart; + logDebugMessage(4,"Actual reported QPC Frequency: %f\n", (double)qpcFrequency); + qpcLastCalibration = qpcLastTime.QuadPart; + timeLastCalibration = timeGetTime(); + currentTime += (int64_t)(1.0e3 * (double)timeLastCalibration); /* sync with system clock */ + } + else { + logDebugMessage(1,"QueryPerformanceFrequency failed with error %d\n", GetLastError()); + + lastTime = (unsigned long int)timeGetTime(); + currentTime += (int64_t)(1.0e3 * (double)lastTime); /* sync with system clock */ + } + } + + UNLOCK_TIMER_MUTEX + +#endif /* !defined(_WIN32) */ + + return currentTime; +} + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/libbu/timer.c ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: brlcad/trunk/src/libbu/timetester.c =================================================================== --- brlcad/trunk/src/libbu/timetester.c (rev 0) +++ brlcad/trunk/src/libbu/timetester.c 2011-01-05 23:15:05 UTC (rev 41966) @@ -0,0 +1,56 @@ +/* T I M E T E S T E R . C + * BRL-CAD + * + * Copyright (c) 2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <stdint.h> +#include <inttypes.h> + +#include "bu.h" + +int +main(int argc, char **argv) +{ + int64_t time1, time2; + int i = 0; + time1 = bu_gettime(); + while (i < 1.0e6) { + time2 = bu_gettime(); + i = time2 - time1; + } + printf("Time delta: %i\n", i); + printf("time1: %" PRIi64 "\n", time1); + printf("time2: %" PRIi64 "\n", time2); + exit(0); +} + +/** @} */ +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/libbu/timetester.c ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eri...@us...> - 2011-01-06 15:40:37
|
Revision: 41972 http://brlcad.svn.sourceforge.net/brlcad/?rev=41972&view=rev Author: erikgreenwald Date: 2011-01-06 15:40:30 +0000 (Thu, 06 Jan 2011) Log Message: ----------- clean up, simplify, etc Modified Paths: -------------- brlcad/trunk/src/libbu/Makefile.am brlcad/trunk/src/libbu/timer.c Modified: brlcad/trunk/src/libbu/Makefile.am =================================================================== --- brlcad/trunk/src/libbu/Makefile.am 2011-01-06 14:02:43 UTC (rev 41971) +++ brlcad/trunk/src/libbu/Makefile.am 2011-01-06 15:40:30 UTC (rev 41972) @@ -2,7 +2,7 @@ lib_LTLIBRARIES = libbu.la noinst_LTLIBRARIES = libbu_nil.la -noinst_PROGRAMS = htester +noinst_PROGRAMS = htester timetester libbu_nil_la_SOURCES = \ argv.c \ @@ -91,6 +91,11 @@ libbu.la \ ${BU_LIBS} +timetester_SOURCES = timetester.c +timetester_LDADD = \ + libbu.la \ + ${BU_LIBS} + noinst_HEADERS = \ rb_internals.h \ uce-dirent.h Modified: brlcad/trunk/src/libbu/timer.c =================================================================== --- brlcad/trunk/src/libbu/timer.c 2011-01-06 14:02:43 UTC (rev 41971) +++ brlcad/trunk/src/libbu/timer.c 2011-01-06 15:40:30 UTC (rev 41972) @@ -32,129 +32,43 @@ # ifdef HAVE_SCHED_H # include <sched.h> # endif -static int64_t lastTime = 0; #else /* !defined(_WIN32) */ -#include <windows.h> +# include <windows.h> # include <mmsystem.h> -static unsigned long int lastTime = 0; -static LARGE_INTEGER qpcLastTime; -static LONGLONG qpcFrequency = 0; -static LONGLONG qpcLastCalibration; -static DWORD timeLastCalibration; #endif /* !defined(_WIN32) */ -static int64_t currentTime = 0; - #include "bu.h" -#if !defined(_WIN32) -static inline int64_t getEpochMicroseconds() -{ - struct timeval nowTime; - gettimeofday(&nowTime, NULL); - return ((int64_t)nowTime.tv_sec * (int64_t)1000000 - + (int64_t)nowTime.tv_usec); -} -#endif - int64_t bu_gettime(void) { #if !defined(_WIN32) - if (lastTime == 0) { - lastTime = getEpochMicroseconds(); - currentTime += lastTime; /* sync with system clock */ - } - else { - const int64_t nowTime = getEpochMicroseconds(); + struct timeval nowTime; - const int64_t diff = (nowTime - lastTime); - - if (diff > 0) { - /* add to currentTime */ - currentTime += diff; - } - else if (diff < 0) { - /* eh, how'd we go back in time? */ - bu_log("WARNING: went back in time %lli microseconds\n", (long long int)diff); - } - - lastTime = nowTime; - } - + gettimeofday(&nowTime, NULL); + return ((int64_t)nowTime.tv_sec * (int64_t)1000000 + + (int64_t)nowTime.tv_usec); #else /* !defined(_WIN32) */ - { - static int inited = 0; - if (!inited) { - inited = 1; - /* - InitializeCriticalSection(&timer_critical); - */ - } + LARGE_INTEGER count; + static LARGE_INTEGER freq = 0; + int rval; - if (qpcFrequency != 0) { - /* main timer is qpc */ - LARGE_INTEGER now; - QueryPerformanceCounter(&now); - { - LONGLONG diff = now.QuadPart - qpcLastTime.QuadPart; - LONGLONG clkSpent = now.QuadPart - qpcLastCalibration; - qpcLastTime = now; - - if (clkSpent > qpcFrequency) { - /* Recalibrate Frequency */ - DWORD tgt = timeGetTime(); - DWORD deltaTgt = tgt - timeLastCalibration; - timeLastCalibration = tgt; - qpcLastCalibration = now.QuadPart; - if (deltaTgt > 0) { - LONGLONG oldqpcfreq = qpcFrequency; - qpcFrequency = (clkSpent * 1000) / deltaTgt; - if (qpcFrequency != oldqpcfreq) - bu_log("Recalibrated QPC frequency. Old: %f ; New: %f\n", - (double)oldqpcfreq, (double)qpcFrequency); - } - } - - currentTime += (int64_t)((double) diff / (double) qpcFrequency); - } + if(freq == 0) + if(QueryPerformanceFrequency(&freq) == 0) { + bu_log("QueryPerformanceFrequency failed\n"); + return -1; } - else { - static int sane = 1; - LARGE_INTEGER freq; - /* should only get into here once on app start */ - if (!sane) { - bu_log("Sanity check failure in bu_gettime()\n"); - } - sane = 0; + if(QueryPerformanceCounter(&freq) == 0) { + bu_log("QueryPerformanceCounter failed\n"); + return -1; + } - /* make sure we're at our best timer resolution possible */ - timeBeginPeriod(1); + return 1e6*count/freq; - if (QueryPerformanceFrequency(&freq)) { - QueryPerformanceCounter(&qpcLastTime); - qpcFrequency = freq.QuadPart; - logDebugMessage(4,"Actual reported QPC Frequency: %f\n", (double)qpcFrequency); - qpcLastCalibration = qpcLastTime.QuadPart; - timeLastCalibration = timeGetTime(); - currentTime += (int64_t)(1.0e3 * (double)timeLastCalibration); /* sync with system clock */ - } - else { - /* - logDebugMessage(1,"QueryPerformanceFrequency failed with error %d\n", GetLastError()); -*/ - lastTime = (unsigned long int)timeGetTime(); - currentTime += (int64_t)(1.0e3 * (double)lastTime); /* sync with system clock */ - } - } - - /* - UNLOCK_TIMER_MUTEX - */ - } #endif /* !defined(_WIN32) */ - return currentTime; + bu_log("This should never happen.\n"); + return -1; } /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-01-12 15:46:05
|
Revision: 42143 http://brlcad.svn.sourceforge.net/brlcad/?rev=42143&view=rev Author: brlcad Date: 2011-01-12 15:45:59 +0000 (Wed, 12 Jan 2011) Log Message: ----------- add code to make sure, even though it's a very unlikely event, that we never return an empty string. Modified Paths: -------------- brlcad/trunk/src/libbu/whereis.c brlcad/trunk/src/libbu/which.c Modified: brlcad/trunk/src/libbu/whereis.c =================================================================== --- brlcad/trunk/src/libbu/whereis.c 2011-01-12 15:17:43 UTC (rev 42142) +++ brlcad/trunk/src/libbu/whereis.c 2011-01-12 15:45:59 UTC (rev 42143) @@ -76,6 +76,8 @@ return NULL; } if (bu_file_exists(bu_whereis_result) && strchr(bu_whereis_result, BU_DIR_SEPARATOR)) { + if (bu_whereis_result[0] == '\0') + return NULL; /* never return empty */ return bu_whereis_result; } @@ -114,6 +116,8 @@ snprintf(bu_whereis_result, MAXPATHLEN, "%s/%s", directory, cmd); if (bu_file_exists(bu_whereis_result)) { + if (bu_whereis_result[0] == '\0') + return NULL; /* never return empty */ return bu_whereis_result; } Modified: brlcad/trunk/src/libbu/which.c =================================================================== --- brlcad/trunk/src/libbu/which.c 2011-01-12 15:17:43 UTC (rev 42142) +++ brlcad/trunk/src/libbu/which.c 2011-01-12 15:45:59 UTC (rev 42143) @@ -68,6 +68,8 @@ } if (bu_file_exists(bu_which_result) && strchr(bu_which_result, BU_DIR_SEPARATOR)) { + if (bu_which_result[0] == '\0') + return NULL; /* never return empty */ return bu_which_result; } @@ -115,6 +117,8 @@ snprintf(bu_which_result, MAXPATHLEN, "%s/%s", directory, cmd); if (bu_file_exists(bu_which_result)) { + if (bu_which_result[0] == '\0') + return NULL; /* never return empty */ return bu_which_result; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-02-01 21:24:51
|
Revision: 42846 http://brlcad.svn.sourceforge.net/brlcad/?rev=42846&view=rev Author: brlcad Date: 2011-02-01 21:24:45 +0000 (Tue, 01 Feb 2011) Log Message: ----------- include bio.h instead of direclty including windows.h; keying off _WIN32 is bad form Modified Paths: -------------- brlcad/trunk/src/libbu/brlcad_path.c brlcad/trunk/src/libbu/timer.c Modified: brlcad/trunk/src/libbu/brlcad_path.c =================================================================== --- brlcad/trunk/src/libbu/brlcad_path.c 2011-02-01 21:16:52 UTC (rev 42845) +++ brlcad/trunk/src/libbu/brlcad_path.c 2011-02-01 21:24:45 UTC (rev 42846) @@ -22,13 +22,9 @@ #include "common.h" -#ifdef _WIN32 -#include "windows.h" -#endif - #include <stdlib.h> -#include <stdio.h> #include <string.h> +#include "bio.h" #ifdef HAVE_SYS_PARAM_H # include <sys/param.h> Modified: brlcad/trunk/src/libbu/timer.c =================================================================== --- brlcad/trunk/src/libbu/timer.c 2011-02-01 21:16:52 UTC (rev 42845) +++ brlcad/trunk/src/libbu/timer.c 2011-02-01 21:24:45 UTC (rev 42846) @@ -22,7 +22,8 @@ #include "common.h" #include <time.h> -#if !defined(_WIN32) +#include "bio.h" + # ifdef HAVE_SYS_TIME_H # include <sys/time.h> # endif @@ -32,8 +33,7 @@ # ifdef HAVE_SCHED_H # include <sched.h> # endif -#else /* !defined(_WIN32) */ -# include <windows.h> +#if defined(_WIN32) # include <mmsystem.h> #endif /* !defined(_WIN32) */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-06-14 19:56:28
|
Revision: 44983 http://brlcad.svn.sourceforge.net/brlcad/?rev=44983&view=rev Author: brlcad Date: 2011-06-14 19:56:21 +0000 (Tue, 14 Jun 2011) Log Message: ----------- no longer need to manually init the bu_list or ignore init, call BU_LIST_INIT_ZERO instead. Modified Paths: -------------- brlcad/trunk/src/libbu/list.c brlcad/trunk/src/libbu/malloc.c brlcad/trunk/src/libbu/mappedfile.c brlcad/trunk/src/libbu/temp.c Modified: brlcad/trunk/src/libbu/list.c =================================================================== --- brlcad/trunk/src/libbu/list.c 2011-06-14 19:55:27 UTC (rev 44982) +++ brlcad/trunk/src/libbu/list.c 2011-06-14 19:56:21 UTC (rev 44983) @@ -60,12 +60,10 @@ void bu_list_reverse(register struct bu_list *hd) { - struct bu_list tmp_hd; - register struct bu_list *ep; + struct bu_list tmp_hd = BU_LIST_INIT_ZERO; + register struct bu_list *ep = NULL; BU_CK_LIST_HEAD(hd); - - BU_LIST_INIT(&tmp_hd); BU_LIST_INSERT_LIST(&tmp_hd, hd); while (BU_LIST_WHILE(ep, bu_list, &tmp_hd)) { Modified: brlcad/trunk/src/libbu/malloc.c =================================================================== --- brlcad/trunk/src/libbu/malloc.c 2011-06-14 19:55:27 UTC (rev 44982) +++ brlcad/trunk/src/libbu/malloc.c 2011-06-14 19:56:21 UTC (rev 44983) @@ -61,7 +61,7 @@ }; static struct bu_list *bu_memq = BU_LIST_NULL; -static struct bu_list bu_memqhd; +static struct bu_list bu_memqhd = BU_LIST_INIT_ZERO; #define MEMQDEBUG_NULL ((struct memqdebug *)0) /* non-published globals */ Modified: brlcad/trunk/src/libbu/mappedfile.c =================================================================== --- brlcad/trunk/src/libbu/mappedfile.c 2011-06-14 19:55:27 UTC (rev 44982) +++ brlcad/trunk/src/libbu/mappedfile.c 2011-06-14 19:56:21 UTC (rev 44983) @@ -39,11 +39,8 @@ #include "bu.h" -static struct bu_list bu_mapped_file_list = { - 0, - (struct bu_list *)NULL, - (struct bu_list *)NULL -}; /* list of currently open mapped files */ +/* list of currently open mapped files */ +static struct bu_list bu_mapped_file_list = BU_LIST_INIT_ZERO; struct bu_mapped_file * Modified: brlcad/trunk/src/libbu/temp.c =================================================================== --- brlcad/trunk/src/libbu/temp.c 2011-06-14 19:55:27 UTC (rev 44982) +++ brlcad/trunk/src/libbu/temp.c 2011-06-14 19:56:21 UTC (rev 44983) @@ -111,6 +111,7 @@ } BU_GETSTRUCT(newtf, _bu_tf_list); + BU_LIST_INIT(&(_bu_tf->l)); bu_vls_init(&_bu_tf->fn); bu_vls_strcpy(&_bu_tf->fn, fn); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-06-15 12:50:52
|
Revision: 45003 http://brlcad.svn.sourceforge.net/brlcad/?rev=45003&view=rev Author: brlcad Date: 2011-06-15 12:50:46 +0000 (Wed, 15 Jun 2011) Log Message: ----------- just use NULL instead of BU_HOOK_NULL Modified Paths: -------------- brlcad/trunk/src/libbu/globals.c brlcad/trunk/src/libbu/hook.c Modified: brlcad/trunk/src/libbu/globals.c =================================================================== --- brlcad/trunk/src/libbu/globals.c 2011-06-15 12:50:26 UTC (rev 45002) +++ brlcad/trunk/src/libbu/globals.c 2011-06-15 12:50:46 UTC (rev 45003) @@ -85,7 +85,7 @@ &bu_bomb_hook_list.l, &bu_bomb_hook_list.l }, - BU_HOOK_NULL, + NULL, GENPTR_NULL }; @@ -100,7 +100,7 @@ &bu_log_hook_list.l, &bu_log_hook_list.l }, - BU_HOOK_NULL, + NULL, GENPTR_NULL }; Modified: brlcad/trunk/src/libbu/hook.c =================================================================== --- brlcad/trunk/src/libbu/hook.c 2011-06-15 12:50:26 UTC (rev 45002) +++ brlcad/trunk/src/libbu/hook.c 2011-06-15 12:50:46 UTC (rev 45003) @@ -30,7 +30,7 @@ bu_hook_list_init(struct bu_hook_list *hlp) { BU_LIST_INIT(&hlp->l); - hlp->hookfunc = BU_HOOK_NULL; + hlp->hookfunc = NULL; hlp->clientdata = GENPTR_NULL; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-06-16 03:45:07
|
Revision: 45054 http://brlcad.svn.sourceforge.net/brlcad/?rev=45054&view=rev Author: brlcad Date: 2011-06-16 03:44:58 +0000 (Thu, 16 Jun 2011) Log Message: ----------- move bu_argv0_full_path(), bu_argv0(), bu_getprogname(), bu_setprogname() and their helper functions (_bu_ipwd() and _bu_argv0()) from brlcad_path.c to progname.c since they have nothing to do with our intrinsic search data/root search logic. Modified Paths: -------------- brlcad/trunk/src/libbu/CMakeLists.txt brlcad/trunk/src/libbu/Makefile.am brlcad/trunk/src/libbu/brlcad_path.c Added Paths: ----------- brlcad/trunk/src/libbu/progname.c Modified: brlcad/trunk/src/libbu/CMakeLists.txt =================================================================== --- brlcad/trunk/src/libbu/CMakeLists.txt 2011-06-15 23:44:48 UTC (rev 45053) +++ brlcad/trunk/src/libbu/CMakeLists.txt 2011-06-16 03:44:58 UTC (rev 45054) @@ -52,6 +52,7 @@ parse.c printb.c process.c + progname.c ptbl.c quote.c rb_create.c @@ -70,7 +71,7 @@ str.c tcl.c temp.c - timer.c + timer.c units.c vers.c vfont.c Modified: brlcad/trunk/src/libbu/Makefile.am =================================================================== --- brlcad/trunk/src/libbu/Makefile.am 2011-06-15 23:44:48 UTC (rev 45053) +++ brlcad/trunk/src/libbu/Makefile.am 2011-06-16 03:44:58 UTC (rev 45054) @@ -52,6 +52,7 @@ parse.c \ printb.c \ process.c \ + progname.c \ ptbl.c \ quote.c \ rb_create.c \ Modified: brlcad/trunk/src/libbu/brlcad_path.c =================================================================== --- brlcad/trunk/src/libbu/brlcad_path.c 2011-06-15 23:44:48 UTC (rev 45053) +++ brlcad/trunk/src/libbu/brlcad_path.c 2011-06-16 03:44:58 UTC (rev 45054) @@ -47,10 +47,6 @@ #define MAX_WHERE_SIZE (size_t)((MAXPATHLEN*2) + 64) -/* internal storage for bu_getprogname/bu_setprogname */ -static char bu_progname[MAXPATHLEN] = {0}; - - HIDDEN const char * _brlcad_data() { @@ -67,197 +63,7 @@ } -/** - * b u _ i p w d - * - * set/return the path to the initial working directory. - * bu_setprogname() must be called on app startup for the correct pwd to - * be acquired/set. - */ -HIDDEN const char * -_bu_ipwd() -{ - /* private stash */ - static const char *ipwd = NULL; - static char buffer[MAXPATHLEN] = {0}; - const char *pwd = NULL; - /* already found the path before */ - if (ipwd) { - return ipwd; - } - - /* FIRST: try environment */ - pwd = getenv("PWD"); /* not our memory to free */ - if (pwd && strlen(pwd) > 0) { -#ifdef HAVE_REALPATH - ipwd = realpath(pwd, buffer); - if (ipwd) { - return ipwd; - } -#endif - ipwd = pwd; - return ipwd; - } - - /* SECOND: try to query path */ -#ifdef HAVE_REALPATH - ipwd = realpath(".", buffer); - if (ipwd && strlen(ipwd) > 0) { - return ipwd; - } -#endif - - /* THIRD: try calling the 'pwd' command */ - ipwd = bu_which("pwd"); - if (ipwd) { -#if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) - FILE *fp = NULL; - - fp = popen(ipwd, "r"); - if (LIKELY(fp != NULL)) { - if (bu_fgets(buffer, MAXPATHLEN, fp)) { - ipwd = buffer; - } else { - ipwd = "."; - } - } else { - ipwd = "."; - } -#else - memset(buffer, 0, MAXPATHLEN); /* quellage */ - ipwd = "."; -#endif - } - - /* LAST: punt (but do not return NULL) */ - ipwd = "."; - return ipwd; -} - - -HIDDEN const char * -_bu_argv0(void) -{ - /* private stash */ - static const char *argv0 = NULL; - - /* set initial pwd if we have not already */ - (void)_bu_ipwd(); - - if (bu_progname[0] != '\0') { - argv0 = bu_progname; - } - -#ifdef HAVE_GETPROGNAME - if (!argv0) { - /* do not call bu_getgrogname() */ - argv0 = getprogname(); /* not malloc'd memory */ - } -#endif - - if (!argv0) { - argv0 = "(unknown)"; - } - - return argv0; -} - - -const char * -bu_argv0_full_path(void) -{ - static char buffer[MAXPATHLEN] = {0}; - - const char *argv0 = _bu_argv0(); - const char *ipwd = _bu_ipwd(); - - const char *which = bu_which(argv0); - - if (argv0[0] == BU_DIR_SEPARATOR) { - /* seems to already be a full path */ - snprintf(buffer, MAXPATHLEN, "%s", argv0); - return buffer; - } - - /* running from PATH */ - if (which) { - snprintf(buffer, MAXPATHLEN, "%s", which); - return buffer; - } - - while (argv0[0] == '.' && argv0[1] == BU_DIR_SEPARATOR) { - /* remove ./ if present, relative paths are appended to pwd */ - argv0 += 2; - } - - /* running from relative dir */ - snprintf(buffer, MAXPATHLEN, "%s%c%s", ipwd, BU_DIR_SEPARATOR, argv0); - if (bu_file_exists(buffer)) { - return buffer; - } - - /* give up */ - snprintf(buffer, MAXPATHLEN, "%s", argv0); - return buffer; -} - - -const char * -bu_getprogname(void) { - const char *name = NULL; - static char buffer[MAXPATHLEN] = {0}; - char *tmp_basename; - - if (bu_progname[0] != '\0') { - tmp_basename = bu_basename(bu_progname); - bu_strlcpy(buffer, tmp_basename, strlen(tmp_basename)+1); - bu_free(tmp_basename, "tmp_basename free"); - return buffer; - } - -#ifdef HAVE_GETPROGNAME - name = getprogname(); /* not malloc'd memory */ -#endif - - if (!name) { - name = _bu_argv0(); - } - - snprintf(bu_progname, MAXPATHLEN, "%s", name); - - tmp_basename = bu_basename(bu_progname); - bu_strlcpy(buffer, tmp_basename, strlen(tmp_basename)+1); - bu_free(tmp_basename, "tmp_basename free"); - return buffer; -} - - -void -bu_setprogname(const char *argv0) -{ -#ifdef HAVE_SETPROGNAME - setprogname(argv0); -#endif - - if (argv0) { - snprintf(bu_progname, MAXPATHLEN, "%s", argv0); - } - - (void)_bu_ipwd(); - - return; -} - - -/* DEPRECATED: Do not use. */ -const char * -bu_argv0(void) -{ - return _bu_argv0(); -} - - /** * b u _ r o o t _ m i s s i n g * Added: brlcad/trunk/src/libbu/progname.c =================================================================== --- brlcad/trunk/src/libbu/progname.c (rev 0) +++ brlcad/trunk/src/libbu/progname.c 2011-06-16 03:44:58 UTC (rev 45054) @@ -0,0 +1,232 @@ +/* P R O G N A M E . C + * BRL-CAD + * + * Copyright (c) 2004-2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <stdlib.h> +#include <string.h> +#include "bio.h" + +#include "bu.h" + +/* internal storage for bu_getprogname/bu_setprogname */ +static char bu_progname[MAXPATHLEN] = {0}; + + +/** + * b u _ i p w d + * + * set/return the path to the initial working directory. + * bu_setprogname() must be called on app startup for the correct pwd to + * be acquired/set. + */ +HIDDEN const char * +_bu_ipwd() +{ + /* private stash */ + static const char *ipwd = NULL; + static char buffer[MAXPATHLEN] = {0}; + const char *pwd = NULL; + + /* already found the path before */ + if (ipwd) { + return ipwd; + } + + /* FIRST: try environment */ + pwd = getenv("PWD"); /* not our memory to free */ + if (pwd && strlen(pwd) > 0) { +#ifdef HAVE_REALPATH + ipwd = realpath(pwd, buffer); + if (ipwd) { + return ipwd; + } +#endif + ipwd = pwd; + return ipwd; + } + + /* SECOND: try to query path */ +#ifdef HAVE_REALPATH + ipwd = realpath(".", buffer); + if (ipwd && strlen(ipwd) > 0) { + return ipwd; + } +#endif + + /* THIRD: try calling the 'pwd' command */ + ipwd = bu_which("pwd"); + if (ipwd) { +#if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) + FILE *fp = NULL; + + fp = popen(ipwd, "r"); + if (LIKELY(fp != NULL)) { + if (bu_fgets(buffer, MAXPATHLEN, fp)) { + ipwd = buffer; + } else { + ipwd = "."; + } + } else { + ipwd = "."; + } +#else + memset(buffer, 0, MAXPATHLEN); /* quellage */ + ipwd = "."; +#endif + } + + /* LAST: punt (but do not return NULL) */ + ipwd = "."; + return ipwd; +} + + +HIDDEN const char * +_bu_argv0(void) +{ + /* private stash */ + static const char *argv0 = NULL; + + /* set initial pwd if we have not already */ + (void)_bu_ipwd(); + + if (bu_progname[0] != '\0') { + argv0 = bu_progname; + } + +#ifdef HAVE_GETPROGNAME + if (!argv0) { + /* do not call bu_getgrogname() */ + argv0 = getprogname(); /* not malloc'd memory */ + } +#endif + + if (!argv0) { + argv0 = "(unknown)"; + } + + return argv0; +} + + +const char * +bu_argv0_full_path(void) +{ + static char buffer[MAXPATHLEN] = {0}; + + const char *argv0 = _bu_argv0(); + const char *ipwd = _bu_ipwd(); + + const char *which = bu_which(argv0); + + if (argv0[0] == BU_DIR_SEPARATOR) { + /* seems to already be a full path */ + snprintf(buffer, MAXPATHLEN, "%s", argv0); + return buffer; + } + + /* running from PATH */ + if (which) { + snprintf(buffer, MAXPATHLEN, "%s", which); + return buffer; + } + + while (argv0[0] == '.' && argv0[1] == BU_DIR_SEPARATOR) { + /* remove ./ if present, relative paths are appended to pwd */ + argv0 += 2; + } + + /* running from relative dir */ + snprintf(buffer, MAXPATHLEN, "%s%c%s", ipwd, BU_DIR_SEPARATOR, argv0); + if (bu_file_exists(buffer)) { + return buffer; + } + + /* give up */ + snprintf(buffer, MAXPATHLEN, "%s", argv0); + return buffer; +} + + +const char * +bu_getprogname(void) { + const char *name = NULL; + static char buffer[MAXPATHLEN] = {0}; + char *tmp_basename; + + if (bu_progname[0] != '\0') { + tmp_basename = bu_basename(bu_progname); + bu_strlcpy(buffer, tmp_basename, strlen(tmp_basename)+1); + bu_free(tmp_basename, "tmp_basename free"); + return buffer; + } + +#ifdef HAVE_GETPROGNAME + name = getprogname(); /* not malloc'd memory */ +#endif + + if (!name) { + name = _bu_argv0(); + } + + snprintf(bu_progname, MAXPATHLEN, "%s", name); + + tmp_basename = bu_basename(bu_progname); + bu_strlcpy(buffer, tmp_basename, strlen(tmp_basename)+1); + bu_free(tmp_basename, "tmp_basename free"); + return buffer; +} + + +void +bu_setprogname(const char *argv0) +{ +#ifdef HAVE_SETPROGNAME + setprogname(argv0); +#endif + + if (argv0) { + snprintf(bu_progname, MAXPATHLEN, "%s", argv0); + } + + (void)_bu_ipwd(); + + return; +} + + +/* DEPRECATED: Do not use. */ +const char * +bu_argv0(void) +{ + return _bu_argv0(); +} + + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/libbu/progname.c ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-06-16 03:51:23
|
Revision: 45055 http://brlcad.svn.sourceforge.net/brlcad/?rev=45055&view=rev Author: brlcad Date: 2011-06-16 03:51:17 +0000 (Thu, 16 Jun 2011) Log Message: ----------- sys/param.h provides MAXPATHLEN, document it for posterity Modified Paths: -------------- brlcad/trunk/src/libbu/brlcad_path.c brlcad/trunk/src/libbu/progname.c Modified: brlcad/trunk/src/libbu/brlcad_path.c =================================================================== --- brlcad/trunk/src/libbu/brlcad_path.c 2011-06-16 03:44:58 UTC (rev 45054) +++ brlcad/trunk/src/libbu/brlcad_path.c 2011-06-16 03:51:17 UTC (rev 45055) @@ -22,14 +22,14 @@ #include "common.h" +#ifdef HAVE_SYS_PARAM_H /* for MAXPATHLEN */ +# include <sys/param.h> +#endif + #include <stdlib.h> #include <string.h> #include "bio.h" -#ifdef HAVE_SYS_PARAM_H -# include <sys/param.h> -#endif - #include "bu.h" #include "sysv.h" Modified: brlcad/trunk/src/libbu/progname.c =================================================================== --- brlcad/trunk/src/libbu/progname.c 2011-06-16 03:44:58 UTC (rev 45054) +++ brlcad/trunk/src/libbu/progname.c 2011-06-16 03:51:17 UTC (rev 45055) @@ -20,6 +20,10 @@ #include "common.h" +#ifdef HAVE_SYS_PARAM_H /* for MAXPATHLEN */ +# include <sys/param.h> +#endif + #include <stdlib.h> #include <string.h> #include "bio.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-06-16 06:40:13
|
Revision: 45058 http://brlcad.svn.sourceforge.net/brlcad/?rev=45058&view=rev Author: brlcad Date: 2011-06-16 06:40:07 +0000 (Thu, 16 Jun 2011) Log Message: ----------- stub in an initial bu_getcwd() implementation that uses getcwd() and getenv(PWD) for determining the current working directory. untested on win32 (try _getcwd() and _fullpath()) too, but it's the start of a replacement for _bu_ipwd(). Modified Paths: -------------- brlcad/trunk/src/libbu/CMakeLists.txt brlcad/trunk/src/libbu/Makefile.am Added Paths: ----------- brlcad/trunk/src/libbu/getcwd.c Modified: brlcad/trunk/src/libbu/CMakeLists.txt =================================================================== --- brlcad/trunk/src/libbu/CMakeLists.txt 2011-06-16 06:35:44 UTC (rev 45057) +++ brlcad/trunk/src/libbu/CMakeLists.txt 2011-06-16 06:40:07 UTC (rev 45058) @@ -28,6 +28,7 @@ fgets.c fnmatch.c fopen_uniq.c + getcwd.c getopt.c globals.c hash.c Modified: brlcad/trunk/src/libbu/Makefile.am =================================================================== --- brlcad/trunk/src/libbu/Makefile.am 2011-06-16 06:35:44 UTC (rev 45057) +++ brlcad/trunk/src/libbu/Makefile.am 2011-06-16 06:40:07 UTC (rev 45058) @@ -28,6 +28,7 @@ fgets.c \ fnmatch.c \ fopen_uniq.c \ + getcwd.c \ getopt.c \ globals.c \ hash.c \ Added: brlcad/trunk/src/libbu/getcwd.c =================================================================== --- brlcad/trunk/src/libbu/getcwd.c (rev 0) +++ brlcad/trunk/src/libbu/getcwd.c 2011-06-16 06:40:07 UTC (rev 45058) @@ -0,0 +1,120 @@ +/* G E T C W D . C + * BRL-CAD + * + * Copyright (c) 2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ +/** @file getcwd.c + * + * Routine(s) for getting the current working directory full pathname. + * + */ + +#include "common.h" + +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif +#ifdef HAVE_SYS_PARAM_H /* for MAXPATHLEN */ +# include <sys/param.h> +#endif +#include <string.h> + +#include "bu.h" + + +char * +bu_getcwd(char *buf, size_t size) +{ + char *cwd = NULL; + char *pwd = NULL; + char *rwd = NULL; + char cbuf[MAXPATHLEN] = {0}; + char rbuf[MAXPATHLEN] = {0}; + size_t sz = size; + + /* NULL buf means allocate */ + if (!buf) { + sz = MAXPATHLEN; + buf = bu_calloc(1, sz, "alloc bu_getcwd"); + } + + /* FIRST: try getcwd */ +#ifdef HAVE_GETCWD + cwd = getcwd(cbuf, MAXPATHLEN); + if (cwd + && strlen(cwd) > 0 + && bu_file_exists(cwd)) + { +#ifdef HAVE_REALPATH + rwd = realpath(cbuf, rbuf); + if (rwd + && strlen(rwd) > 0 + && bu_file_exists(rwd)) + { + BU_ASSERT(sz > strlen(rwd)+1); + bu_strlcpy(buf, rwd, strlen(rwd)+1); + return buf; + } +#endif /* HAVE_REALPATH */ + BU_ASSERT(sz > strlen(cwd)+1); + bu_strlcpy(buf, cwd, strlen(cwd)+1); + return buf; + } +#else + /* quellage */ + cwd = memset(cbuf, 0, MAXPATHLEN); +#endif /* HAVE_GETCWD */ + + + /* SECOND: try environment */ + pwd = getenv("PWD"); + if (pwd + && strlen(pwd) > 0 + && bu_file_exists(pwd)) + { +#ifdef HAVE_REALPATH + rwd = realpath(pwd, rbuf); + if (rwd + && strlen(rwd) > 0 + && bu_file_exists(rwd)) + { + BU_ASSERT(sz > strlen(rwd)+1); + bu_strlcpy(buf, rwd, strlen(rwd)+1); + return buf; + } +#endif /* HAVE_REALPATH */ + BU_ASSERT(sz > strlen(pwd)+1); + bu_strlcpy(buf, pwd, strlen(pwd)+1); + return buf; + } + + /* LAST: punt (but do not return NULL) */ + BU_ASSERT(sz > strlen(".")+1); + bu_strlcpy(buf, ".", strlen(".")+1); + return buf; +} + + +/* + * Local Variables: + * tab-width: 8 + * mode: C + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/libbu/getcwd.c ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-06-16 14:45:55
|
Revision: 45071 http://brlcad.svn.sourceforge.net/brlcad/?rev=45071&view=rev Author: brlcad Date: 2011-06-16 14:45:44 +0000 (Thu, 16 Jun 2011) Log Message: ----------- add a new unit test for bu_getprogname/bu_setprogname. already helped uncover and fix three bugs. Modified Paths: -------------- brlcad/trunk/src/libbu/CMakeLists.txt brlcad/trunk/src/libbu/Makefile.am Added Paths: ----------- brlcad/trunk/src/libbu/prognametester.c Modified: brlcad/trunk/src/libbu/CMakeLists.txt =================================================================== --- brlcad/trunk/src/libbu/CMakeLists.txt 2011-06-16 14:39:31 UTC (rev 45070) +++ brlcad/trunk/src/libbu/CMakeLists.txt 2011-06-16 14:45:44 UTC (rev 45071) @@ -105,6 +105,9 @@ SET_TARGET_PROPERTIES(basenametester PROPERTIES COMPILE_FLAGS "-DBRLCAD_DLL") ENDIF(MSVC) +add_executable(prognametester prognametester.c) +target_link_libraries(prognametester libbu) + set(bu_MAN3 htond.3 libbu.3 Modified: brlcad/trunk/src/libbu/Makefile.am =================================================================== --- brlcad/trunk/src/libbu/Makefile.am 2011-06-16 14:39:31 UTC (rev 45070) +++ brlcad/trunk/src/libbu/Makefile.am 2011-06-16 14:45:44 UTC (rev 45071) @@ -2,7 +2,7 @@ lib_LTLIBRARIES = libbu.la noinst_LTLIBRARIES = libbu_nil.la -noinst_PROGRAMS = htester timetester basenametester +noinst_PROGRAMS = htester timetester basenametester prognametester libbu_nil_la_SOURCES = \ argv.c \ @@ -103,6 +103,11 @@ libbu.la \ ${BU_LIBS} +prognametester_SOURCES = prognametester.c +prognametester_LDADD = \ + libbu.la \ + ${BU_LIBS} + noinst_HEADERS = \ rb_internals.h \ uce-dirent.h Added: brlcad/trunk/src/libbu/prognametester.c =================================================================== --- brlcad/trunk/src/libbu/prognametester.c (rev 0) +++ brlcad/trunk/src/libbu/prognametester.c 2011-06-16 14:45:44 UTC (rev 45071) @@ -0,0 +1,135 @@ +/* P R O G N A M E T E S T E R . C + * BRL-CAD + * + * Copyright (c) 2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include "bu.h" + + +int +main(int ac, char *av[]) +{ + const char *label; + const char *ans; + const char *res; + + if (ac > 1) { + printf("Usage: %s\n", av[0]); + return 1; + } + + /* pre-define tests */ + printf("Performing pre-defined tests:\n"); + + /* CASE 0: getting unset name */ + label = "CASE 0"; + res = bu_getprogname(); + ans = NULL; + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) + printf("%s: %24s -> %24s [PASSED]\n", label, "unset", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 1: try again unset */ + label = "CASE 1"; + res = bu_getprogname(); + ans = NULL; + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) + printf("%s: %24s -> %24s [PASSED]\n", label, "unset#2", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 2: set NULL, then get */ + label = "CASE 2"; + bu_setprogname(NULL); + res = bu_getprogname(); + ans = NULL; + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) + printf("%s: %24s -> %24s [PASSED]\n", label, "NULL", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 3: set, then get */ + label = "CASE 3"; + bu_setprogname(av[0]); + res = bu_getprogname(); + ans = av[0]; + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) + printf("%s: %24s -> %24s [PASSED]\n", label, "av[0]", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 4: set full, then get */ + label = "CASE 4"; + bu_setprogname(bu_argv0_full_path()); + res = bu_getprogname(); + ans = bu_argv0_full_path(); + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(ans))) + printf("%s: %24s -> %24s [PASSED]\n", label, ans, res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 5: set 2x, then get */ + label = "CASE 5"; + bu_setprogname(av[0]); + bu_setprogname("monkey_see_monkey_poo"); + res = bu_getprogname(); + ans = "monkey_see_monkey_poo"; + + if (BU_STR_EQUAL(res, ans ? ans : "")) + printf("%s: %24s -> %24s [PASSED]\n", label, ans, res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 5: set 2x full path, then get */ + label = "CASE 6"; + bu_setprogname(bu_argv0_full_path()); + bu_setprogname("/monkey/see/monkey/poo"); + res = bu_getprogname(); + ans = "poo"; + + if (BU_STR_EQUAL(res, ans ? ans : "")) + printf("%s: %24s -> %24s [PASSED]\n", label, "/monkey/see/monkey/poo", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + printf("%s: testing complete\n", av[0]); + return 0; +} + + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/libbu/prognametester.c ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-06-19 15:14:46
|
Revision: 45108 http://brlcad.svn.sourceforge.net/brlcad/?rev=45108&view=rev Author: brlcad Date: 2011-06-19 15:14:39 +0000 (Sun, 19 Jun 2011) Log Message: ----------- be specific about which file's we're referring to for doxygen Modified Paths: -------------- brlcad/trunk/src/libbu/getcwd.c brlcad/trunk/src/libbu/globals.c Modified: brlcad/trunk/src/libbu/getcwd.c =================================================================== --- brlcad/trunk/src/libbu/getcwd.c 2011-06-18 15:45:35 UTC (rev 45107) +++ brlcad/trunk/src/libbu/getcwd.c 2011-06-19 15:14:39 UTC (rev 45108) @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file getcwd.c +/** @file libbu/getcwd.c * * Routine(s) for getting the current working directory full pathname. * Modified: brlcad/trunk/src/libbu/globals.c =================================================================== --- brlcad/trunk/src/libbu/globals.c 2011-06-18 15:45:35 UTC (rev 45107) +++ brlcad/trunk/src/libbu/globals.c 2011-06-19 15:14:39 UTC (rev 45108) @@ -17,7 +17,7 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @file globals.c +/** @file libbu/globals.c * * Global variables in LIBBU. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-06-22 17:34:42
|
Revision: 45211 http://brlcad.svn.sourceforge.net/brlcad/?rev=45211&view=rev Author: brlcad Date: 2011-06-22 17:34:35 +0000 (Wed, 22 Jun 2011) Log Message: ----------- remove all group inclusions from the source files. cleans up output since the groups were disjoint from those described in the header file and makes it easier to rearrange public API in one place. Modified Paths: -------------- brlcad/trunk/src/libbu/bitv.c brlcad/trunk/src/libbu/brlcad_path.c brlcad/trunk/src/libbu/cmdhist.c brlcad/trunk/src/libbu/convert.c brlcad/trunk/src/libbu/hist.c brlcad/trunk/src/libbu/log.c brlcad/trunk/src/libbu/malloc.c brlcad/trunk/src/libbu/observer.c brlcad/trunk/src/libbu/parallel.c brlcad/trunk/src/libbu/parse.c brlcad/trunk/src/libbu/rb_delete.c brlcad/trunk/src/libbu/rb_diag.c brlcad/trunk/src/libbu/rb_extreme.c brlcad/trunk/src/libbu/rb_insert.c brlcad/trunk/src/libbu/rb_internals.h brlcad/trunk/src/libbu/rb_order_stats.c brlcad/trunk/src/libbu/rb_search.c brlcad/trunk/src/libbu/rb_walk.c brlcad/trunk/src/libbu/semaphore.c brlcad/trunk/src/libbu/simd.c brlcad/trunk/src/libbu/stat.c brlcad/trunk/src/libbu/vfont.c Modified: brlcad/trunk/src/libbu/bitv.c =================================================================== --- brlcad/trunk/src/libbu/bitv.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/bitv.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup bitv */ -/** @{ */ #include "common.h" @@ -309,8 +307,6 @@ } -/** @} */ - /* * Local Variables: * mode: C Modified: brlcad/trunk/src/libbu/brlcad_path.c =================================================================== --- brlcad/trunk/src/libbu/brlcad_path.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/brlcad_path.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup bu_log */ -/** @{ */ #include "common.h" @@ -543,8 +541,6 @@ } -/** @} */ - /* * Local Variables: * mode: C Modified: brlcad/trunk/src/libbu/cmdhist.c =================================================================== --- brlcad/trunk/src/libbu/cmdhist.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/cmdhist.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup libbu */ -/** @{ */ #include "common.h" @@ -262,7 +260,6 @@ return TCL_OK; } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/convert.c =================================================================== --- brlcad/trunk/src/libbu/convert.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/convert.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup conv */ -/** @{ */ #include "common.h" @@ -892,7 +890,6 @@ return number_done; } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/hist.c =================================================================== --- brlcad/trunk/src/libbu/hist.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/hist.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup bu_hist */ -/** @{ */ #include "common.h" @@ -177,7 +175,6 @@ _bu_hist_pr_suppress(histp, title, 1); } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/log.c =================================================================== --- brlcad/trunk/src/libbu/log.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/log.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup bu_log */ -/** @{ */ #include "common.h" @@ -259,7 +257,6 @@ bu_vls_free(&output); } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/malloc.c =================================================================== --- brlcad/trunk/src/libbu/malloc.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/malloc.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup malloc */ -/** @{ */ #include "common.h" @@ -665,7 +663,6 @@ return 0; /* OK */ } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/observer.c =================================================================== --- brlcad/trunk/src/libbu/observer.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/observer.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup butcl */ -/** @{ */ #include "common.h" @@ -214,7 +212,6 @@ } -/** @} */ /* * Local Variables: * mode: C Modified: brlcad/trunk/src/libbu/parallel.c =================================================================== --- brlcad/trunk/src/libbu/parallel.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/parallel.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup thread */ -/** @{ */ #include "common.h" @@ -1118,8 +1116,6 @@ } -/** @} */ - /* * Local Variables: * mode: C Modified: brlcad/trunk/src/libbu/parse.c =================================================================== --- brlcad/trunk/src/libbu/parse.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/parse.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup parse */ -/** @{ */ #include "common.h" @@ -2548,8 +2546,6 @@ } -/** @} */ - /* * Local Variables: * mode: C Modified: brlcad/trunk/src/libbu/rb_delete.c =================================================================== --- brlcad/trunk/src/libbu/rb_delete.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/rb_delete.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup rb */ -/** @{ */ #include "common.h" @@ -190,7 +188,6 @@ bu_free((genptr_t) node, "node list"); } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/rb_diag.c =================================================================== --- brlcad/trunk/src/libbu/rb_diag.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/rb_diag.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup rb */ -/** @{ */ #include "common.h" @@ -118,7 +116,6 @@ bu_log("-------------------------------------------------\n"); } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/rb_extreme.c =================================================================== --- brlcad/trunk/src/libbu/rb_extreme.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/rb_extreme.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup rb */ -/** @{ */ #include "common.h" @@ -163,7 +161,6 @@ return rb_data(rb_current(tree), order); } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/rb_insert.c =================================================================== --- brlcad/trunk/src/libbu/rb_insert.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/rb_insert.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup rb */ -/** @{ */ #include "common.h" @@ -384,7 +382,6 @@ _rb_set_uniq_all(tree, 0); } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/rb_internals.h =================================================================== --- brlcad/trunk/src/libbu/rb_internals.h 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/rb_internals.h 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,14 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup rb */ -/** @{ */ -/** @file rb_internals.h - * - * The constants, macro functions, etc. need within LIBBU(3) to handle - * the red-black tree utilities. - * - */ #include "common.h" @@ -207,7 +199,6 @@ #endif /* BU_RB_INTERNALS_H */ -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/rb_order_stats.c =================================================================== --- brlcad/trunk/src/libbu/rb_order_stats.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/rb_order_stats.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup rb */ -/** @{ */ #include "common.h" @@ -112,7 +110,6 @@ return rank; } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/rb_search.c =================================================================== --- brlcad/trunk/src/libbu/rb_search.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/rb_search.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup rb */ -/** @{ */ #include "common.h" @@ -86,8 +84,6 @@ } -/** @} */ - /* * Local Variables: * mode: C Modified: brlcad/trunk/src/libbu/rb_walk.c =================================================================== --- brlcad/trunk/src/libbu/rb_walk.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/rb_walk.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup rb */ -/** @{ */ #include "common.h" @@ -187,7 +185,6 @@ rb_walk(tree, order, visit, WALK_DATA, trav_type); } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/semaphore.c =================================================================== --- brlcad/trunk/src/libbu/semaphore.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/semaphore.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup thread */ -/** @{ */ #include "common.h" @@ -488,7 +486,7 @@ } #endif -/** @} */ + /* * Local Variables: * mode: C Modified: brlcad/trunk/src/libbu/simd.c =================================================================== --- brlcad/trunk/src/libbu/simd.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/simd.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup bu_simd */ -/** @{ */ #include "common.h" #include "bu.h" @@ -44,7 +42,6 @@ return BU_SIMD_NONE; } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/stat.c =================================================================== --- brlcad/trunk/src/libbu/stat.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/stat.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup bu_log */ -/** @{ */ #include "common.h" @@ -228,7 +226,6 @@ return _bu_file_access(path, X_OK); } -/** @} */ /* * Local Variables: Modified: brlcad/trunk/src/libbu/vfont.c =================================================================== --- brlcad/trunk/src/libbu/vfont.c 2011-06-22 17:33:02 UTC (rev 45210) +++ brlcad/trunk/src/libbu/vfont.c 2011-06-22 17:34:35 UTC (rev 45211) @@ -17,8 +17,6 @@ * License along with this file; see the file named COPYING for more * information. */ -/** @addtogroup vfont */ -/** @{ */ #include "common.h" @@ -133,7 +131,6 @@ bu_free((char *)vfp, "vfont"); } -/** @} */ /* * Local Variables: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bhi...@us...> - 2011-07-19 17:18:36
|
Revision: 45540 http://brlcad.svn.sourceforge.net/brlcad/?rev=45540&view=rev Author: bhinesley Date: 2011-07-19 17:18:29 +0000 (Tue, 19 Jul 2011) Log Message: ----------- removed unused variables and quiet compiler Modified Paths: -------------- brlcad/trunk/src/libbu/bomb.c brlcad/trunk/src/libbu/crashreport.c Modified: brlcad/trunk/src/libbu/bomb.c =================================================================== --- brlcad/trunk/src/libbu/bomb.c 2011-07-19 13:41:06 UTC (rev 45539) +++ brlcad/trunk/src/libbu/bomb.c 2011-07-19 17:18:29 UTC (rev 45540) @@ -108,9 +108,8 @@ fd = open("/dev/tty", 1); if (LIKELY(fd > 0)) { if (str && (strlen(str) > 0)) { - int ret; - ret = write(fd, str, strlen(str)); - ret = write(fd, "\n", 1); + (void)write(fd, str, strlen(str)); + (void)write(fd, "\n", 1); } close(fd); } @@ -155,8 +154,7 @@ fd = open("/dev/tty", 1); if (LIKELY(fd > 0)) { - int ret; - ret = write(fd, "Causing intentional core dump due to debug flag\n", 48); + (void)write(fd, "Causing intentional core dump due to debug flag\n", 48); close(fd); } abort(); /* should dump if ulimit is non-zero */ Modified: brlcad/trunk/src/libbu/crashreport.c =================================================================== --- brlcad/trunk/src/libbu/crashreport.c 2011-07-19 13:41:06 UTC (rev 45539) +++ brlcad/trunk/src/libbu/crashreport.c 2011-07-19 17:18:29 UTC (rev 45540) @@ -107,8 +107,7 @@ fprintf(fp, "\nSystem characteristics:\n"); fflush(fp); while (bu_fgets(buffer, CR_BUFSIZE, popenfp)) { - int ret; - ret = fwrite(buffer, 1, strlen(buffer), fp); + (void)fwrite(buffer, 1, strlen(buffer), fp); } } #if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) @@ -134,11 +133,10 @@ fprintf(fp, "\nSystem information:\n"); fflush(fp); while (bu_fgets(buffer, CR_BUFSIZE, popenfp)) { - int ret; if ((strlen(buffer) == 0) || ((strlen(buffer) == 1) && (buffer[0] == '\n'))) { continue; } - ret = fwrite(buffer, 1, strlen(buffer), fp); + (void)fwrite(buffer, 1, strlen(buffer), fp); } } #if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bhi...@us...> - 2011-07-19 19:22:30
|
Revision: 45542 http://brlcad.svn.sourceforge.net/brlcad/?rev=45542&view=rev Author: bhinesley Date: 2011-07-19 19:22:23 +0000 (Tue, 19 Jul 2011) Log Message: ----------- resolved issues regarding fwrite/write return value validation, unveiled by r45540/r45541 per conversation with Sean Modified Paths: -------------- brlcad/trunk/src/libbu/bomb.c brlcad/trunk/src/libbu/crashreport.c brlcad/trunk/src/libbu/vlb.c Modified: brlcad/trunk/src/libbu/bomb.c =================================================================== --- brlcad/trunk/src/libbu/bomb.c 2011-07-19 17:27:51 UTC (rev 45541) +++ brlcad/trunk/src/libbu/bomb.c 2011-07-19 19:22:23 UTC (rev 45542) @@ -108,8 +108,17 @@ fd = open("/dev/tty", 1); if (LIKELY(fd > 0)) { if (str && (strlen(str) > 0)) { - (void)write(fd, str, strlen(str)); - (void)write(fd, "\n", 1); + int ret; + size_t len; + + len = strlen(str); + ret = write(fd, str, len); + if (ret < 0 || (size_t)ret != len) + perror("write failed"); + + ret = write(fd, "\n", 1); + if (ret != 1) + perror("write failed"); } close(fd); } @@ -154,7 +163,8 @@ fd = open("/dev/tty", 1); if (LIKELY(fd > 0)) { - (void)write(fd, "Causing intentional core dump due to debug flag\n", 48); + int ret; + ret = write(fd, "Causing intentional core dump due to debug flag\n", 48); close(fd); } abort(); /* should dump if ulimit is non-zero */ Modified: brlcad/trunk/src/libbu/crashreport.c =================================================================== --- brlcad/trunk/src/libbu/crashreport.c 2011-07-19 17:27:51 UTC (rev 45541) +++ brlcad/trunk/src/libbu/crashreport.c 2011-07-19 19:22:23 UTC (rev 45542) @@ -107,7 +107,13 @@ fprintf(fp, "\nSystem characteristics:\n"); fflush(fp); while (bu_fgets(buffer, CR_BUFSIZE, popenfp)) { - (void)fwrite(buffer, 1, strlen(buffer), fp); + size_t ret; + size_t len; + + len = strlen(buffer); + ret = fwrite(buffer, 1, len, fp); + if (ret != len) + perror("fwrite failed"); } } #if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) @@ -133,10 +139,17 @@ fprintf(fp, "\nSystem information:\n"); fflush(fp); while (bu_fgets(buffer, CR_BUFSIZE, popenfp)) { - if ((strlen(buffer) == 0) || ((strlen(buffer) == 1) && (buffer[0] == '\n'))) { + size_t ret; + size_t len; + + len = strlen(buffer); + if ((len == 0) || (len == 1) && (buffer[0] == '\n')) { continue; } - (void)fwrite(buffer, 1, strlen(buffer), fp); + + ret = fwrite(buffer, 1, len, fp); + if (ret != len) + perror("fwrite failed"); } } #if defined(HAVE_POPEN) && !defined(STRICT_FLAGS) Modified: brlcad/trunk/src/libbu/vlb.c =================================================================== --- brlcad/trunk/src/libbu/vlb.c 2011-07-19 17:27:51 UTC (rev 45541) +++ brlcad/trunk/src/libbu/vlb.c 2011-07-19 19:22:23 UTC (rev 45542) @@ -117,8 +117,13 @@ void bu_vlb_print(struct bu_vlb *vlb, FILE *fd) { + size_t ret; + BU_CKMAG(vlb, BU_VLB_MAGIC, "magic for bu_vlb"); - (void)fwrite(vlb->buf, 1, vlb->nextByte, fd); + + ret = fwrite(vlb->buf, 1, vlb->nextByte, fd); + if (ret != vlb->nextByte) + perror("fwrite failed"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-08-30 14:42:45
|
Revision: 46478 http://brlcad.svn.sourceforge.net/brlcad/?rev=46478&view=rev Author: brlcad Date: 2011-08-30 14:42:38 +0000 (Tue, 30 Aug 2011) Log Message: ----------- rename all of the test programs to have a test_ prefix instead of a tester suffix. makes them easier to identify and groups tests together. should help keep things more organized moving forward as more unit tests are written. Modified Paths: -------------- brlcad/trunk/src/libbu/CMakeLists.txt brlcad/trunk/src/libbu/Makefile.am Added Paths: ----------- brlcad/trunk/src/libbu/test_basename.c brlcad/trunk/src/libbu/test_htond.c brlcad/trunk/src/libbu/test_progname.c brlcad/trunk/src/libbu/test_timer.c Removed Paths: ------------- brlcad/trunk/src/libbu/basenametester.c brlcad/trunk/src/libbu/htester.c brlcad/trunk/src/libbu/prognametester.c brlcad/trunk/src/libbu/timetester.c Modified: brlcad/trunk/src/libbu/CMakeLists.txt =================================================================== --- brlcad/trunk/src/libbu/CMakeLists.txt 2011-08-30 10:32:46 UTC (rev 46477) +++ brlcad/trunk/src/libbu/CMakeLists.txt 2011-08-30 14:42:38 UTC (rev 46478) @@ -90,20 +90,20 @@ ADD_DEPENDENCIES(libbu tcl) ENDIF(BRLCAD_BUILD_LOCAL_TCL) -add_executable(htester htester.c) -target_link_libraries(htester ${CMAKE_THREAD_LIBS_INIT} ${PNG_LIBRARY} libbu) +add_executable(test_htond test_htond.c) +target_link_libraries(test_htond ${CMAKE_THREAD_LIBS_INIT} ${PNG_LIBRARY} libbu) -add_executable(timetester timetester.c) -target_link_libraries(timetester libbu) +add_executable(test_timer test_timer.c) +target_link_libraries(test_timer libbu) -add_executable(basenametester basenametester.c) -target_link_libraries(basenametester libbu) +add_executable(test_basename test_basename.c) +target_link_libraries(test_basename libbu) IF(MSVC) - SET_TARGET_PROPERTIES(basenametester PROPERTIES COMPILE_FLAGS "-DBRLCAD_DLL") + SET_TARGET_PROPERTIES(test_basename PROPERTIES COMPILE_FLAGS "-DBRLCAD_DLL") ENDIF(MSVC) -add_executable(prognametester prognametester.c) -target_link_libraries(prognametester libbu) +add_executable(test_progname test_progname.c) +target_link_libraries(test_progname libbu) set(bu_MAN3 htond.3 Modified: brlcad/trunk/src/libbu/Makefile.am =================================================================== --- brlcad/trunk/src/libbu/Makefile.am 2011-08-30 10:32:46 UTC (rev 46477) +++ brlcad/trunk/src/libbu/Makefile.am 2011-08-30 14:42:38 UTC (rev 46478) @@ -2,7 +2,7 @@ lib_LTLIBRARIES = libbu.la noinst_LTLIBRARIES = libbu_nil.la -noinst_PROGRAMS = htester timetester basenametester prognametester +noinst_PROGRAMS = test_htond test_timer test_basename test_progname libbu_nil_la_SOURCES = \ argv.c \ @@ -88,23 +88,23 @@ libbu_nil.la \ ${BU_LIBS} -htester_SOURCES = htester.c -htester_LDADD = \ +test_htond_SOURCES = test_htond.c +test_htond_LDADD = \ libbu.la \ ${BU_LIBS} -timetester_SOURCES = timetester.c -timetester_LDADD = \ +test_timer_SOURCES = test_timer.c +test_timer_LDADD = \ libbu.la \ ${BU_LIBS} -basenametester_SOURCES = basenametester.c -basenametester_LDADD = \ +test_basename_SOURCES = test_basename.c +test_basename_LDADD = \ libbu.la \ ${BU_LIBS} -prognametester_SOURCES = prognametester.c -prognametester_LDADD = \ +test_progname_SOURCES = test_progname.c +test_progname_LDADD = \ libbu.la \ ${BU_LIBS} @@ -118,7 +118,6 @@ EXTRA_DIST = \ $(man_MANS) \ - timetester.c \ CMakeLists.txt AM_CPPFLAGS = \ @@ -151,5 +150,4 @@ $(libbu_la_OBJECTS) \ $(lib_LTLIBRARIES) \ $(noinst_LTLIBRARIES) \ - $(htester_OBJECTS) \ $(noinst_PROGRAMS) Deleted: brlcad/trunk/src/libbu/basenametester.c =================================================================== --- brlcad/trunk/src/libbu/basenametester.c 2011-08-30 10:32:46 UTC (rev 46477) +++ brlcad/trunk/src/libbu/basenametester.c 2011-08-30 14:42:38 UTC (rev 46478) @@ -1,115 +0,0 @@ -/* B A S E N A M E T E S T E R . C - * BRL-CAD - * - * Copyright (c) 2011 United States Government as represented by - * the U.S. Army Research Laboratory. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this file; see the file named COPYING for more - * information. - */ - -#include "common.h" - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#ifdef HAVE_LIBGEN_H /* for basename */ -# include <libgen.h> -#endif - -#include "bu.h" - - - -/* Test against basename UNIX tool */ -void -automatic_test(const char *input) -{ - - char *ans = NULL; - char buf_input[1000]; - char *res = NULL; - - if (input) - bu_strlcpy(buf_input, input, strlen(input)+1); - -#ifdef HAVE_BASENAME - /* build UNIX 'basename' command */ - if (!input) - ans = basename(NULL); - else - ans = basename(buf_input); -#endif - - if (!input) - res = bu_basename(NULL); - else - res = bu_basename(buf_input); - - if (BU_STR_EQUAL(res, ans)) - printf("%24s -> %24s [PASSED]\n", input, res); - else - printf("%24s -> %24s (should be: %s) [FAIL]\n", input, res, ans); - - bu_free(res, NULL); -} - - -int -main(int ac, char *av[]) -{ - char input[1000] = {0}; - - /* pre-define tests */ - printf("Performing pre-defined tests:\n"); - automatic_test("/usr/dir/file"); - automatic_test("/usr/dir/"); - automatic_test("/usr/"); - automatic_test("/usr"); - automatic_test("usr"); - automatic_test("/usr/some long/file"); - automatic_test("/usr/some file"); - automatic_test("/a test file"); - automatic_test("another file"); - automatic_test("/"); - automatic_test("/////"); - automatic_test("."); - automatic_test(".."); - automatic_test("..."); - automatic_test(" "); - automatic_test(""); - automatic_test(NULL); - - /* user tests */ - if (ac > 1) { - printf("Enter a string:\n"); - bu_fgets(input, 1000, stdin); - if (strlen(input) > 0) - input[strlen(input)-1] = '\0'; - automatic_test(input); - } - - printf("%s: testing complete\n", av[0]); - return 0; -} - - -/* - * Local Variables: - * mode: C - * tab-width: 8 - * indent-tabs-mode: t - * c-file-style: "stroustrup" - * End: - * ex: shiftwidth=4 tabstop=8 - */ Deleted: brlcad/trunk/src/libbu/htester.c =================================================================== --- brlcad/trunk/src/libbu/htester.c 2011-08-30 10:32:46 UTC (rev 46477) +++ brlcad/trunk/src/libbu/htester.c 2011-08-30 14:42:38 UTC (rev 46478) @@ -1,156 +0,0 @@ -/* H T E S T E R . C - * BRL-CAD - * - * Copyright (c) 2004-2011 United States Government as represented by - * the U.S. Army Research Laboratory. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this file; see the file named COPYING for more - * information. - */ - -#include "common.h" - -#include <stdlib.h> -#include <stdio.h> - -#include "bu.h" - - -#define NUM 3000 -double orig[NUM], after[NUM]; -unsigned char buf[NUM*8]; - -void -flpr(unsigned char *cp) -{ - unsigned int i; - for (i=0; i<sizeof(double); i++) { - putchar("0123456789ABCDEFx"[*cp>>4]); - putchar("0123456789ABCDEFx"[*cp&0xF]); - cp++; - } - return; -} - -int -ckbytes(unsigned char *a, unsigned char *b, unsigned int n) -{ -#ifndef vax - while (n-- > 0) { - if (*a++ != *b++) - return -1; /* BAD */ - } - return 0; /* OK */ -#else - /* VAX floating point has bytes swapped, vis-a-vis normal VAX order */ - int i; - for (i=0; i<n; i++) { - if (a[i^1] != b[i^1]) - return -1; /* BAD */ - } - return 0; /* OK */ -#endif -} - -int -main(int argc, char **argv) -{ - int ret; - unsigned int i; - unsigned int nbytes; - int len = sizeof(double); - -#define A argv[1][1] - if (argc != 2 || argv[1][0] != '-' || (A != 'o' && A != 'i' && A != 'v')) { - bu_exit(1, "Usage: htester [-i|-o|-v] < input\n"); - } - - /* First stage, generate the reference pattern */ - for (i=0; i<1000; i++) { - orig[i] = ((double)i)/(7*16); - } - for (i=1000; i<2000; i++) { - orig[i] = -1.0/(i-1000+1); - } - orig[2000] = -1; - for (i=2001; i<2035; i++) { - orig[i] = orig[i-1] * -0.1; - } - for (i=2035; i<3000; i++) { - int hilow = (i&1) ? (-1) : 1; - orig[i] = orig[i-1000] + hilow; - } - - /* Second stage, write out, or read and compare */ - if (argv[1][1] == 'o') { - /* Write out */ - htond((unsigned char *)buf, (unsigned char *)orig, NUM); - ret = fwrite(buf, 8, NUM, stdout); - if (ret != 8) - perror("fwrite"); - exit(0); - } - - /* Read and compare */ - switch (len) { - case 8: - nbytes = 6; - break; - case 4: - /* untested */ - nbytes = 4; - break; - default: - bu_bomb("unknown and untested double size\n"); - break; - } - ret = fread(buf, 8, NUM, stdin); - if (ret != 8) - perror("fwrite"); - -/* ntohd((char *)after, buf, NUM); *//* bulk conversion */ - for (i=0; i<NUM; i++) { - ntohd((unsigned char *)&after[i], (unsigned char *)&buf[i*8], 1); /* incremental */ - /* Floating point compare */ - if ((orig[i] - after[i]) > -SMALL_FASTF && (orig[i] - after[i]) < SMALL_FASTF) - continue; - - /* Byte-for-byte compare */ - if (ckbytes((unsigned char *)&orig[i], - (unsigned char *)&after[i], nbytes) == 0) - continue; - - /* Wrong */ - printf("%4d: calc ", i); - flpr((unsigned char *)&orig[i]); - printf(" %g\n", orig[i]); - printf(" aftr "); - flpr((unsigned char *)&after[i]); - printf(" %g\n", after[i]); - printf(" buf "); - flpr(&buf[i*8]); - printf("\n"); - } - exit(0); -} - -/** @} */ -/* - * Local Variables: - * mode: C - * tab-width: 8 - * indent-tabs-mode: t - * c-file-style: "stroustrup" - * End: - * ex: shiftwidth=4 tabstop=8 - */ Deleted: brlcad/trunk/src/libbu/prognametester.c =================================================================== --- brlcad/trunk/src/libbu/prognametester.c 2011-08-30 10:32:46 UTC (rev 46477) +++ brlcad/trunk/src/libbu/prognametester.c 2011-08-30 14:42:38 UTC (rev 46478) @@ -1,135 +0,0 @@ -/* P R O G N A M E T E S T E R . C - * BRL-CAD - * - * Copyright (c) 2011 United States Government as represented by - * the U.S. Army Research Laboratory. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this file; see the file named COPYING for more - * information. - */ - -#include "common.h" - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -#include "bu.h" - - -int -main(int ac, char *av[]) -{ - const char *label; - const char *ans; - const char *res; - - if (ac > 1) { - printf("Usage: %s\n", av[0]); - return 1; - } - - /* pre-define tests */ - printf("Performing pre-defined tests:\n"); - - /* CASE 0: getting unset name */ - label = "CASE 0"; - res = bu_getprogname(); - ans = NULL; - - if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) - printf("%s: %24s -> %24s [PASSED]\n", label, "unset", res); - else - printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); - - /* CASE 1: try again unset */ - label = "CASE 1"; - res = bu_getprogname(); - ans = NULL; - - if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) - printf("%s: %24s -> %24s [PASSED]\n", label, "unset#2", res); - else - printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); - - /* CASE 2: set NULL, then get */ - label = "CASE 2"; - bu_setprogname(NULL); - res = bu_getprogname(); - ans = NULL; - - if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) - printf("%s: %24s -> %24s [PASSED]\n", label, "NULL", res); - else - printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); - - /* CASE 3: set, then get */ - label = "CASE 3"; - bu_setprogname(av[0]); - res = bu_getprogname(); - ans = av[0]; - - if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) - printf("%s: %24s -> %24s [PASSED]\n", label, "av[0]", res); - else - printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); - - /* CASE 4: set full, then get */ - label = "CASE 4"; - bu_setprogname(bu_argv0_full_path()); - res = bu_getprogname(); - ans = bu_argv0_full_path(); - - if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(ans))) - printf("%s: %24s -> %24s [PASSED]\n", label, ans, res); - else - printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); - - /* CASE 5: set 2x, then get */ - label = "CASE 5"; - bu_setprogname(av[0]); - bu_setprogname("monkey_see_monkey_poo"); - res = bu_getprogname(); - ans = "monkey_see_monkey_poo"; - - if (BU_STR_EQUAL(res, ans ? ans : "")) - printf("%s: %24s -> %24s [PASSED]\n", label, ans, res); - else - printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); - - /* CASE 5: set 2x full path, then get */ - label = "CASE 6"; - bu_setprogname(bu_argv0_full_path()); - bu_setprogname("/monkey/see/monkey/poo"); - res = bu_getprogname(); - ans = "poo"; - - if (BU_STR_EQUAL(res, ans ? ans : "")) - printf("%s: %24s -> %24s [PASSED]\n", label, "/monkey/see/monkey/poo", res); - else - printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); - - printf("%s: testing complete\n", av[0]); - return 0; -} - - -/* - * Local Variables: - * mode: C - * tab-width: 8 - * indent-tabs-mode: t - * c-file-style: "stroustrup" - * End: - * ex: shiftwidth=4 tabstop=8 - */ Copied: brlcad/trunk/src/libbu/test_basename.c (from rev 46477, brlcad/trunk/src/libbu/basenametester.c) =================================================================== --- brlcad/trunk/src/libbu/test_basename.c (rev 0) +++ brlcad/trunk/src/libbu/test_basename.c 2011-08-30 14:42:38 UTC (rev 46478) @@ -0,0 +1,115 @@ +/* B A S E N A M E T E S T E R . C + * BRL-CAD + * + * Copyright (c) 2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#ifdef HAVE_LIBGEN_H /* for basename */ +# include <libgen.h> +#endif + +#include "bu.h" + + + +/* Test against basename UNIX tool */ +void +automatic_test(const char *input) +{ + + char *ans = NULL; + char buf_input[1000]; + char *res = NULL; + + if (input) + bu_strlcpy(buf_input, input, strlen(input)+1); + +#ifdef HAVE_BASENAME + /* build UNIX 'basename' command */ + if (!input) + ans = basename(NULL); + else + ans = basename(buf_input); +#endif + + if (!input) + res = bu_basename(NULL); + else + res = bu_basename(buf_input); + + if (BU_STR_EQUAL(res, ans)) + printf("%24s -> %24s [PASSED]\n", input, res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", input, res, ans); + + bu_free(res, NULL); +} + + +int +main(int ac, char *av[]) +{ + char input[1000] = {0}; + + /* pre-define tests */ + printf("Performing pre-defined tests:\n"); + automatic_test("/usr/dir/file"); + automatic_test("/usr/dir/"); + automatic_test("/usr/"); + automatic_test("/usr"); + automatic_test("usr"); + automatic_test("/usr/some long/file"); + automatic_test("/usr/some file"); + automatic_test("/a test file"); + automatic_test("another file"); + automatic_test("/"); + automatic_test("/////"); + automatic_test("."); + automatic_test(".."); + automatic_test("..."); + automatic_test(" "); + automatic_test(""); + automatic_test(NULL); + + /* user tests */ + if (ac > 1) { + printf("Enter a string:\n"); + bu_fgets(input, 1000, stdin); + if (strlen(input) > 0) + input[strlen(input)-1] = '\0'; + automatic_test(input); + } + + printf("%s: testing complete\n", av[0]); + return 0; +} + + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Copied: brlcad/trunk/src/libbu/test_htond.c (from rev 46477, brlcad/trunk/src/libbu/htester.c) =================================================================== --- brlcad/trunk/src/libbu/test_htond.c (rev 0) +++ brlcad/trunk/src/libbu/test_htond.c 2011-08-30 14:42:38 UTC (rev 46478) @@ -0,0 +1,156 @@ +/* H T E S T E R . C + * BRL-CAD + * + * Copyright (c) 2004-2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <stdlib.h> +#include <stdio.h> + +#include "bu.h" + + +#define NUM 3000 +double orig[NUM], after[NUM]; +unsigned char buf[NUM*8]; + +void +flpr(unsigned char *cp) +{ + unsigned int i; + for (i=0; i<sizeof(double); i++) { + putchar("0123456789ABCDEFx"[*cp>>4]); + putchar("0123456789ABCDEFx"[*cp&0xF]); + cp++; + } + return; +} + +int +ckbytes(unsigned char *a, unsigned char *b, unsigned int n) +{ +#ifndef vax + while (n-- > 0) { + if (*a++ != *b++) + return -1; /* BAD */ + } + return 0; /* OK */ +#else + /* VAX floating point has bytes swapped, vis-a-vis normal VAX order */ + int i; + for (i=0; i<n; i++) { + if (a[i^1] != b[i^1]) + return -1; /* BAD */ + } + return 0; /* OK */ +#endif +} + +int +main(int argc, char **argv) +{ + int ret; + unsigned int i; + unsigned int nbytes; + int len = sizeof(double); + +#define A argv[1][1] + if (argc != 2 || argv[1][0] != '-' || (A != 'o' && A != 'i' && A != 'v')) { + bu_exit(1, "Usage: htester [-i|-o|-v] < input\n"); + } + + /* First stage, generate the reference pattern */ + for (i=0; i<1000; i++) { + orig[i] = ((double)i)/(7*16); + } + for (i=1000; i<2000; i++) { + orig[i] = -1.0/(i-1000+1); + } + orig[2000] = -1; + for (i=2001; i<2035; i++) { + orig[i] = orig[i-1] * -0.1; + } + for (i=2035; i<3000; i++) { + int hilow = (i&1) ? (-1) : 1; + orig[i] = orig[i-1000] + hilow; + } + + /* Second stage, write out, or read and compare */ + if (argv[1][1] == 'o') { + /* Write out */ + htond((unsigned char *)buf, (unsigned char *)orig, NUM); + ret = fwrite(buf, 8, NUM, stdout); + if (ret != 8) + perror("fwrite"); + exit(0); + } + + /* Read and compare */ + switch (len) { + case 8: + nbytes = 6; + break; + case 4: + /* untested */ + nbytes = 4; + break; + default: + bu_bomb("unknown and untested double size\n"); + break; + } + ret = fread(buf, 8, NUM, stdin); + if (ret != 8) + perror("fwrite"); + +/* ntohd((char *)after, buf, NUM); *//* bulk conversion */ + for (i=0; i<NUM; i++) { + ntohd((unsigned char *)&after[i], (unsigned char *)&buf[i*8], 1); /* incremental */ + /* Floating point compare */ + if ((orig[i] - after[i]) > -SMALL_FASTF && (orig[i] - after[i]) < SMALL_FASTF) + continue; + + /* Byte-for-byte compare */ + if (ckbytes((unsigned char *)&orig[i], + (unsigned char *)&after[i], nbytes) == 0) + continue; + + /* Wrong */ + printf("%4d: calc ", i); + flpr((unsigned char *)&orig[i]); + printf(" %g\n", orig[i]); + printf(" aftr "); + flpr((unsigned char *)&after[i]); + printf(" %g\n", after[i]); + printf(" buf "); + flpr(&buf[i*8]); + printf("\n"); + } + exit(0); +} + +/** @} */ +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Copied: brlcad/trunk/src/libbu/test_progname.c (from rev 46477, brlcad/trunk/src/libbu/prognametester.c) =================================================================== --- brlcad/trunk/src/libbu/test_progname.c (rev 0) +++ brlcad/trunk/src/libbu/test_progname.c 2011-08-30 14:42:38 UTC (rev 46478) @@ -0,0 +1,135 @@ +/* P R O G N A M E T E S T E R . C + * BRL-CAD + * + * Copyright (c) 2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include "bu.h" + + +int +main(int ac, char *av[]) +{ + const char *label; + const char *ans; + const char *res; + + if (ac > 1) { + printf("Usage: %s\n", av[0]); + return 1; + } + + /* pre-define tests */ + printf("Performing pre-defined tests:\n"); + + /* CASE 0: getting unset name */ + label = "CASE 0"; + res = bu_getprogname(); + ans = NULL; + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) + printf("%s: %24s -> %24s [PASSED]\n", label, "unset", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 1: try again unset */ + label = "CASE 1"; + res = bu_getprogname(); + ans = NULL; + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) + printf("%s: %24s -> %24s [PASSED]\n", label, "unset#2", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 2: set NULL, then get */ + label = "CASE 2"; + bu_setprogname(NULL); + res = bu_getprogname(); + ans = NULL; + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) + printf("%s: %24s -> %24s [PASSED]\n", label, "NULL", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 3: set, then get */ + label = "CASE 3"; + bu_setprogname(av[0]); + res = bu_getprogname(); + ans = av[0]; + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(av[0]))) + printf("%s: %24s -> %24s [PASSED]\n", label, "av[0]", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 4: set full, then get */ + label = "CASE 4"; + bu_setprogname(bu_argv0_full_path()); + res = bu_getprogname(); + ans = bu_argv0_full_path(); + + if (BU_STR_EQUAL(res, ans ? ans : "") || BU_STR_EQUAL(res, bu_basename(ans))) + printf("%s: %24s -> %24s [PASSED]\n", label, ans, res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 5: set 2x, then get */ + label = "CASE 5"; + bu_setprogname(av[0]); + bu_setprogname("monkey_see_monkey_poo"); + res = bu_getprogname(); + ans = "monkey_see_monkey_poo"; + + if (BU_STR_EQUAL(res, ans ? ans : "")) + printf("%s: %24s -> %24s [PASSED]\n", label, ans, res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + /* CASE 5: set 2x full path, then get */ + label = "CASE 6"; + bu_setprogname(bu_argv0_full_path()); + bu_setprogname("/monkey/see/monkey/poo"); + res = bu_getprogname(); + ans = "poo"; + + if (BU_STR_EQUAL(res, ans ? ans : "")) + printf("%s: %24s -> %24s [PASSED]\n", label, "/monkey/see/monkey/poo", res); + else + printf("%24s -> %24s (should be: %s) [FAIL]\n", label, res, ans); + + printf("%s: testing complete\n", av[0]); + return 0; +} + + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Copied: brlcad/trunk/src/libbu/test_timer.c (from rev 46477, brlcad/trunk/src/libbu/timetester.c) =================================================================== --- brlcad/trunk/src/libbu/test_timer.c (rev 0) +++ brlcad/trunk/src/libbu/test_timer.c 2011-08-30 14:42:38 UTC (rev 46478) @@ -0,0 +1,63 @@ +/* T I M E T E S T E R . C + * BRL-CAD + * + * Copyright (c) 2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include "bu.h" + +int +main(int argc, char **argv) +{ + int64_t time1, time2; + int i = 0; + unsigned long counter = 1; + + if (argc > 1) + bu_exit(1, "ERROR: Unexpected parameter [%s]\n", argv[0]); + + time1 = bu_gettime(); + while (i < 1.0e6) { + counter++; + time2 = bu_gettime(); + i = time2 - time1; + } + bu_log("Called bu_gettime() %lu times\n", counter); + bu_log("Time delta: %d\n", i); + bu_log("time1: %lu\n", (unsigned long)time1); + bu_log("time2: %lu\n", (unsigned long)time2); + + return 0; +} + + +/** @} */ +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Deleted: brlcad/trunk/src/libbu/timetester.c =================================================================== --- brlcad/trunk/src/libbu/timetester.c 2011-08-30 10:32:46 UTC (rev 46477) +++ brlcad/trunk/src/libbu/timetester.c 2011-08-30 14:42:38 UTC (rev 46478) @@ -1,63 +0,0 @@ -/* T I M E T E S T E R . C - * BRL-CAD - * - * Copyright (c) 2011 United States Government as represented by - * the U.S. Army Research Laboratory. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this file; see the file named COPYING for more - * information. - */ - -#include "common.h" - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -#include "bu.h" - -int -main(int argc, char **argv) -{ - int64_t time1, time2; - int i = 0; - unsigned long counter = 1; - - if (argc > 1) - bu_exit(1, "ERROR: Unexpected parameter [%s]\n", argv[0]); - - time1 = bu_gettime(); - while (i < 1.0e6) { - counter++; - time2 = bu_gettime(); - i = time2 - time1; - } - bu_log("Called bu_gettime() %lu times\n", counter); - bu_log("Time delta: %d\n", i); - bu_log("time1: %lu\n", (unsigned long)time1); - bu_log("time2: %lu\n", (unsigned long)time2); - - return 0; -} - - -/** @} */ -/* - * Local Variables: - * mode: C - * tab-width: 8 - * indent-tabs-mode: t - * c-file-style: "stroustrup" - * End: - * ex: shiftwidth=4 tabstop=8 - */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-08-30 14:45:50
|
Revision: 46479 http://brlcad.svn.sourceforge.net/brlcad/?rev=46479&view=rev Author: brlcad Date: 2011-08-30 14:45:44 +0000 (Tue, 30 Aug 2011) Log Message: ----------- update file names in headers and usage Modified Paths: -------------- brlcad/trunk/src/libbu/test_basename.c brlcad/trunk/src/libbu/test_htond.c brlcad/trunk/src/libbu/test_progname.c brlcad/trunk/src/libbu/test_timer.c Modified: brlcad/trunk/src/libbu/test_basename.c =================================================================== --- brlcad/trunk/src/libbu/test_basename.c 2011-08-30 14:42:38 UTC (rev 46478) +++ brlcad/trunk/src/libbu/test_basename.c 2011-08-30 14:45:44 UTC (rev 46479) @@ -1,4 +1,4 @@ -/* B A S E N A M E T E S T E R . C +/* T E S T _ B A S E N A M E . C * BRL-CAD * * Copyright (c) 2011 United States Government as represented by @@ -30,7 +30,6 @@ #include "bu.h" - /* Test against basename UNIX tool */ void automatic_test(const char *input) Modified: brlcad/trunk/src/libbu/test_htond.c =================================================================== --- brlcad/trunk/src/libbu/test_htond.c 2011-08-30 14:42:38 UTC (rev 46478) +++ brlcad/trunk/src/libbu/test_htond.c 2011-08-30 14:45:44 UTC (rev 46479) @@ -1,4 +1,4 @@ -/* H T E S T E R . C +/* T E S T _ H T O N D . C * BRL-CAD * * Copyright (c) 2004-2011 United States Government as represented by @@ -42,6 +42,7 @@ return; } + int ckbytes(unsigned char *a, unsigned char *b, unsigned int n) { @@ -62,6 +63,7 @@ #endif } + int main(int argc, char **argv) { @@ -72,7 +74,7 @@ #define A argv[1][1] if (argc != 2 || argv[1][0] != '-' || (A != 'o' && A != 'i' && A != 'v')) { - bu_exit(1, "Usage: htester [-i|-o|-v] < input\n"); + bu_exit(1, "Usage: %s [-i|-o|-v] < input\n", argv[0]); } /* First stage, generate the reference pattern */ @@ -144,7 +146,7 @@ exit(0); } -/** @} */ + /* * Local Variables: * mode: C Modified: brlcad/trunk/src/libbu/test_progname.c =================================================================== --- brlcad/trunk/src/libbu/test_progname.c 2011-08-30 14:42:38 UTC (rev 46478) +++ brlcad/trunk/src/libbu/test_progname.c 2011-08-30 14:45:44 UTC (rev 46479) @@ -1,4 +1,4 @@ -/* P R O G N A M E T E S T E R . C +/* T E S T _ P R O G N A M E . C * BRL-CAD * * Copyright (c) 2011 United States Government as represented by Modified: brlcad/trunk/src/libbu/test_timer.c =================================================================== --- brlcad/trunk/src/libbu/test_timer.c 2011-08-30 14:42:38 UTC (rev 46478) +++ brlcad/trunk/src/libbu/test_timer.c 2011-08-30 14:45:44 UTC (rev 46479) @@ -1,4 +1,4 @@ -/* T I M E T E S T E R . C +/* T E S T _ T I M E R . C * BRL-CAD * * Copyright (c) 2011 United States Government as represented by @@ -26,6 +26,7 @@ #include "bu.h" + int main(int argc, char **argv) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2011-08-30 17:54:49
|
Revision: 46481 http://brlcad.svn.sourceforge.net/brlcad/?rev=46481&view=rev Author: brlcad Date: 2011-08-30 17:54:43 +0000 (Tue, 30 Aug 2011) Log Message: ----------- add a preliminary vls unit test to make sure our printing format specifier behavior is consistent with stdio's behavior. particularly for non-standard format specifier issues like %z and %ll, make sure something sane is happening. Modified Paths: -------------- brlcad/trunk/src/libbu/CMakeLists.txt brlcad/trunk/src/libbu/Makefile.am Added Paths: ----------- brlcad/trunk/src/libbu/test_vls.c Modified: brlcad/trunk/src/libbu/CMakeLists.txt =================================================================== --- brlcad/trunk/src/libbu/CMakeLists.txt 2011-08-30 17:05:56 UTC (rev 46480) +++ brlcad/trunk/src/libbu/CMakeLists.txt 2011-08-30 17:54:43 UTC (rev 46481) @@ -96,15 +96,18 @@ add_executable(test_timer test_timer.c) target_link_libraries(test_timer libbu) -add_executable(test_basename test_basename.c) +add_executable(test_basename test_basename.c) target_link_libraries(test_basename libbu) IF(MSVC) SET_TARGET_PROPERTIES(test_basename PROPERTIES COMPILE_FLAGS "-DBRLCAD_DLL") ENDIF(MSVC) -add_executable(test_progname test_progname.c) +add_executable(test_progname test_progname.c) target_link_libraries(test_progname libbu) +add_executable(test_vls test_vls.c) +target_link_libraries(test_vls libbu) + set(bu_MAN3 htond.3 libbu.3 Modified: brlcad/trunk/src/libbu/Makefile.am =================================================================== --- brlcad/trunk/src/libbu/Makefile.am 2011-08-30 17:05:56 UTC (rev 46480) +++ brlcad/trunk/src/libbu/Makefile.am 2011-08-30 17:54:43 UTC (rev 46481) @@ -2,7 +2,12 @@ lib_LTLIBRARIES = libbu.la noinst_LTLIBRARIES = libbu_nil.la -noinst_PROGRAMS = test_htond test_timer test_basename test_progname +noinst_PROGRAMS = \ + test_basename \ + test_htond \ + test_progname \ + test_timer \ + test_vls libbu_nil_la_SOURCES = \ argv.c \ @@ -108,6 +113,11 @@ libbu.la \ ${BU_LIBS} +test_vls_SOURCES = test_vls.c +test_vls_LDADD = \ + libbu.la \ + ${BU_LIBS} + noinst_HEADERS = \ rb_internals.h Added: brlcad/trunk/src/libbu/test_vls.c =================================================================== --- brlcad/trunk/src/libbu/test_vls.c (rev 0) +++ brlcad/trunk/src/libbu/test_vls.c 2011-08-30 17:54:43 UTC (rev 46481) @@ -0,0 +1,79 @@ +/* T E S T _ V L S . C + * BRL-CAD + * + * Copyright (c) 2011 United States Government as represented by + * the U.S. Army Research Laboratory. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this file; see the file named COPYING for more + * information. + */ + +#include "common.h" + +#include <stdlib.h> +#include <stdarg.h> +#include <stdio.h> + +#include "bu.h" + + +/* Test against sprintf */ +void +test_vls(const char *fmt, ...) +{ + struct bu_vls vls = BU_VLS_INIT_ZERO; + char buffer[1024] = {0}; + va_list ap; + + va_start(ap, fmt); + vsprintf(buffer, fmt, ap); + va_end(ap); + + va_start(ap, fmt); + bu_vls_vprintf(&vls, fmt, ap); + va_end(ap); + + if (BU_STR_EQUAL(buffer, bu_vls_addr(&vls))) { + printf("%24s -> %24s [PASS]\n", fmt, bu_vls_addr(&vls)); + } else { + printf("%24s -> %24s [FAIL] (should be: %s)\n", fmt, bu_vls_addr(&vls), buffer); + } + + bu_vls_free(&vls); +} + + +int +main(int ac, char *av[]) +{ + printf("Testing vls\n"); + + test_vls(""); + test_vls("hello"); + test_vls("%s", "hello"); + test_vls("%d", 123); + + printf("%s: testing complete\n", av[0]); + return 0; +} + + +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ Property changes on: brlcad/trunk/src/libbu/test_vls.c ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |