Revision: 52649
http://brlcad.svn.sourceforge.net/brlcad/?rev=52649&view=rev
Author: brlcad
Date: 2012-10-02 02:56:25 +0000 (Tue, 02 Oct 2012)
Log Message:
-----------
hsv is fastf_t while scanf is configured for doubles. read into a temp array
and copy results after.
Modified Paths:
--------------
brlcad/trunk/src/libbu/tcl.c
Modified: brlcad/trunk/src/libbu/tcl.c
===================================================================
--- brlcad/trunk/src/libbu/tcl.c 2012-10-02 02:51:50 UTC (rev 52648)
+++ brlcad/trunk/src/libbu/tcl.c 2012-10-02 02:56:25 UTC (rev 52649)
@@ -29,7 +29,9 @@
#include "tcl.h"
#include "cmd.h" /* this includes bu.h */
#include "bu.h"
+#include "vmath.h"
+
/*XXX Temporary global interp */
Tcl_Interp *brlcad_interp = (Tcl_Interp *)0;
@@ -254,6 +256,7 @@
{
Tcl_Interp *interp = (Tcl_Interp *)clientData;
+ double vals[3];
fastf_t hsv[3];
unsigned char rgb[3];
struct bu_vls result = BU_VLS_INIT_ZERO;
@@ -262,17 +265,20 @@
bu_log("Usage: bu_hsv_to_rgb H S V\n");
return BRLCAD_ERROR;
}
- if (sscanf(argv[1], "%lf", &hsv[0]) != 1
- || sscanf(argv[2], "%lf", &hsv[1]) != 1
- || sscanf(argv[3], "%lf", &hsv[2]) != 1
- || (bu_hsv_to_rgb(hsv, rgb) == 0)) {
- bu_vls_printf(&result, "bu_hsv_to_rgb: Bad HSV (%s, %s, %s)\n",
- argv[1], argv[2], argv[3]);
- bu_log("%s", bu_vls_addr(&result));
- bu_vls_free(&result);
+ if (sscanf(argv[1], "%lf", &vals[0]) != 1
+ || sscanf(argv[2], "%lf", &vals[1]) != 1
+ || sscanf(argv[3], "%lf", &vals[2]) != 1)
+ {
+ bu_log("Bad HSV parsing (%s, %s, %s)\n", argv[1], argv[2], argv[3]);
return BRLCAD_ERROR;
}
+ VMOVE(hsv, vals);
+ if (bu_hsv_to_rgb(hsv, rgb) == 0) {
+ bu_log("HSV to RGB conversion failed (%s, %s, %s)\n", argv[1], argv[2],
argv[3]);
+ return BRLCAD_ERROR;
+ }
+
bu_vls_printf(&result, "%d %d %d", rgb[0], rgb[1], rgb[2]);
Tcl_AppendResult(interp, bu_vls_addr(&result), NULL);
bu_vls_free(&result);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits