[brlcad-commits] SF.net SVN: brlcad:[47658] brlcad/trunk/src/libbu/parse.c
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <n_...@us...> - 2011-11-25 22:15:42
|
Revision: 47658 http://brlcad.svn.sourceforge.net/brlcad/?rev=47658&view=rev Author: n_reed Date: 2011-11-25 22:15:35 +0000 (Fri, 25 Nov 2011) Log Message: ----------- removed is_stack bool from bu_shader_to_tcl_list; was always false, and would cause bad output if true Modified Paths: -------------- brlcad/trunk/src/libbu/parse.c Modified: brlcad/trunk/src/libbu/parse.c =================================================================== --- brlcad/trunk/src/libbu/parse.c 2011-11-25 21:59:35 UTC (rev 47657) +++ brlcad/trunk/src/libbu/parse.c 2011-11-25 22:15:35 UTC (rev 47658) @@ -1676,7 +1676,6 @@ bu_shader_to_tcl_list(const char *in, struct bu_vls *vls) { size_t len; - int is_stack=0; int shader_name_len=0; char *iptr; const char *shader; @@ -1689,16 +1688,16 @@ while (next) { iptr = next; - /* skip over white space */ + /* find start of shader name */ while (isspace(*iptr)) iptr++; - /* this is start of shader name */ shader = iptr; /* find end of shader name */ while (*iptr && !isspace(*iptr) && *iptr != ';') iptr++; + shader_name_len = iptr - shader; if (shader_name_len == 5 && !strncmp(shader, "stack", 5)) { @@ -1711,15 +1710,22 @@ while (!done) { const char *shade1; + /* find start of shader */ while (isspace(*iptr)) iptr++; + if (*iptr == '\0') break; + shade1 = iptr; + + /* find end of shader */ while (*iptr && *iptr != ';') iptr++; + if (*iptr == '\0') done = 1; + *iptr = '\0'; bu_vls_putc(vls, '{'); @@ -1737,7 +1743,9 @@ bu_vls_putc(vls, '}'); bu_free(copy, BU_FLSTR); return 0; - } else if (shader_name_len == 6 && !strncmp(shader, "envmap", 6)) { + } + + if (shader_name_len == 6 && !strncmp(shader, "envmap", 6)) { bu_vls_strcat(vls, "envmap {"); if (bu_shader_to_tcl_list(iptr, vls)) { bu_free(copy, BU_FLSTR); @@ -1748,9 +1756,6 @@ return 0; } - if (is_stack) - bu_vls_strcat(vls, " {"); - bu_vls_strncat(vls, shader, shader_name_len); /* skip more white space */ @@ -1774,14 +1779,8 @@ } else { next = (char *)NULL; } - - if (is_stack) - bu_vls_putc(vls, '}'); } - if (is_stack) - bu_vls_putc(vls, '}'); - bu_free(copy, BU_FLSTR); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |