Revision: 41826
http://brlcad.svn.sourceforge.net/brlcad/?rev=41826&view=rev
Author: brlcad
Date: 2010-12-29 02:01:09 +0000 (Wed, 29 Dec 2010)
Log Message:
-----------
make tcl_list_to_fastf_array() and all of the primitive *_adjust() functions
take const parameters in preparation for making bu_structparsing able to be
const. this is part of an extensive work-in-progress and may not compile
further down the line, so update with caution.
Modified Paths:
--------------
brlcad/trunk/include/raytrace.h
brlcad/trunk/src/librt/primitives/arbn/arbn.c
brlcad/trunk/src/librt/primitives/ars/ars.c
brlcad/trunk/src/librt/primitives/bot/bot.c
brlcad/trunk/src/librt/primitives/brep/brep.cpp
brlcad/trunk/src/librt/primitives/bspline/bspline.cpp
brlcad/trunk/src/librt/primitives/cline/cline.c
brlcad/trunk/src/librt/primitives/dsp/dsp.c
brlcad/trunk/src/librt/primitives/ebm/ebm.c
brlcad/trunk/src/librt/primitives/extrude/extrude.c
brlcad/trunk/src/librt/primitives/generic.c
brlcad/trunk/src/librt/primitives/metaball/metaball.c
brlcad/trunk/src/librt/primitives/nmg/nmg.c
brlcad/trunk/src/librt/primitives/obj_adjust.c
brlcad/trunk/src/librt/primitives/pipe/pipe.c
brlcad/trunk/src/librt/primitives/sketch/sketch.c
brlcad/trunk/src/librt/primitives/table.c
brlcad/trunk/src/librt/tcl.c
Modified: brlcad/trunk/include/raytrace.h
===================================================================
--- brlcad/trunk/include/raytrace.h 2010-12-29 01:54:10 UTC (rev 41825)
+++ brlcad/trunk/include/raytrace.h 2010-12-29 02:01:09 UTC (rev 41826)
@@ -2017,7 +2017,7 @@
size_t ft_internal_size; /**< @brief sizeof(struct rt_xxx_internal) */
unsigned long ft_internal_magic; /**< @brief RT_XXX_INTERNAL_MAGIC */
int (*ft_get) BU_ARGS((struct bu_vls *, const struct rt_db_internal
*, const char *item));
- int (*ft_adjust) BU_ARGS((struct bu_vls *, struct rt_db_internal *,
int /*argc*/, char ** /*argv*/));
+ int (*ft_adjust) BU_ARGS((struct bu_vls *, struct rt_db_internal *,
int /*argc*/, const char ** /*argv*/));
int (*ft_form) BU_ARGS((struct bu_vls *, const struct rt_functab
*));
void (*ft_make) BU_ARGS((const struct rt_functab *, struct rt_db_internal
*/*ip*/));
@@ -4848,7 +4848,7 @@
RT_EXPORT BU_EXTERN(int tcl_list_to_fastf_array,
(Tcl_Interp *interp,
- char *char_list,
+ const char *char_list,
fastf_t **array,
int *array_len));
Modified: brlcad/trunk/src/librt/primitives/arbn/arbn.c
===================================================================
--- brlcad/trunk/src/librt/primitives/arbn/arbn.c 2010-12-29 01:54:10 UTC
(rev 41825)
+++ brlcad/trunk/src/librt/primitives/arbn/arbn.c 2010-12-29 02:01:09 UTC
(rev 41826)
@@ -1131,7 +1131,7 @@
* "P+" - add a new plane to the list of planes
*/
int
-rt_arbn_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
char **argv)
+rt_arbn_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
const char **argv)
{
struct rt_arbn_internal *arbn;
unsigned char *c;
Modified: brlcad/trunk/src/librt/primitives/ars/ars.c
===================================================================
--- brlcad/trunk/src/librt/primitives/ars/ars.c 2010-12-29 01:54:10 UTC (rev
41825)
+++ brlcad/trunk/src/librt/primitives/ars/ars.c 2010-12-29 02:01:09 UTC (rev
41826)
@@ -1257,7 +1257,7 @@
int
-rt_ars_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
char **argv)
+rt_ars_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
const char **argv)
{
struct rt_ars_internal *ars;
int i, j, k;
@@ -1355,36 +1355,32 @@
"WARNING: incorrect number of parameters
provided for a point\n");
}
} else {
+ char *dupstr;
+
/* one complete curve */
i = atoi(&argv[0][1]);
len = ars->pts_per_curve * 3;
- ptr = argv[1];
+ dupstr = bu_strdup(argv[1]);
+ ptr = dupstr;
while (*ptr) {
if (*ptr == '{' || *ptr == '}')
*ptr = ' ';
ptr++;
}
if (!ars->curves[i]) {
- ars->curves[i] = (fastf_t *)bu_calloc(
- ars->pts_per_curve * 3,
- sizeof(fastf_t),
- "ars->curves[i]");
+ ars->curves[i] = (fastf_t
*)bu_calloc(ars->pts_per_curve * 3, sizeof(fastf_t), "ars->curves[i]");
}
- if (tcl_list_to_fastf_array(brlcad_interp, argv[1],
- &ars->curves[i],
- &len) != len) {
- bu_vls_printf(logstr,
- "WARNING: incorrect number of parameters
provided for a curve\n");
+ if (tcl_list_to_fastf_array(brlcad_interp, dupstr,
&ars->curves[i], &len) != len) {
+ bu_vls_printf(logstr, "WARNING: incorrect number of
parameters provided for a curve\n");
}
+ bu_free(dupstr, "bu_strdup ars curve");
}
} else {
- bu_vls_printf(logstr,
- "ERROR: Illegal argument, must be NC, PPC, C#, or
C#P#\n");
+ bu_vls_printf(logstr, "ERROR: Illegal argument, must be NC,
PPC, C#, or C#P#\n");
return BRLCAD_ERROR;
}
} else {
- bu_vls_printf(logstr,
- "ERROR: Illegal argument, must be NC, PPC, C#, or
C#P#\n");
+ bu_vls_printf(logstr, "ERROR: Illegal argument, must be NC, PPC,
C#, or C#P#\n");
return BRLCAD_ERROR;
}
argc -= 2;
Modified: brlcad/trunk/src/librt/primitives/bot/bot.c
===================================================================
--- brlcad/trunk/src/librt/primitives/bot/bot.c 2010-12-29 01:54:10 UTC (rev
41825)
+++ brlcad/trunk/src/librt/primitives/bot/bot.c 2010-12-29 02:01:09 UTC (rev
41826)
@@ -1902,7 +1902,7 @@
* db adjust name flags set flags
*/
int
-rt_bot_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
char **argv)
+rt_bot_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
const char **argv)
{
struct rt_bot_internal *bot;
Tcl_Obj *obj, **obj_array;
Modified: brlcad/trunk/src/librt/primitives/brep/brep.cpp
===================================================================
--- brlcad/trunk/src/librt/primitives/brep/brep.cpp 2010-12-29 01:54:10 UTC
(rev 41825)
+++ brlcad/trunk/src/librt/primitives/brep/brep.cpp 2010-12-29 02:01:09 UTC
(rev 41826)
@@ -73,7 +73,7 @@
void rt_brep_ifree(struct rt_db_internal *ip);
int rt_brep_describe(struct bu_vls *str, const struct rt_db_internal *ip,
int verbose, double mm2local);
int rt_brep_tclget(Tcl_Interp *interp, const struct rt_db_internal
*intern, const char *attr);
- int rt_brep_tcladjust(Tcl_Interp *interp, struct rt_db_internal *intern,
int argc, char **argv);
+ int rt_brep_tcladjust(Tcl_Interp *interp, struct rt_db_internal *intern,
int argc, const char **argv);
int rt_brep_params(struct pc_pc_set *, const struct rt_db_internal *ip);
#ifdef __cplusplus
}
@@ -3125,7 +3125,7 @@
* R T _ B R E P _ T C L A D J U S T
*/
int
-rt_brep_tcladjust(Tcl_Interp *, struct rt_db_internal *, int, char **)
+rt_brep_tcladjust(Tcl_Interp *, struct rt_db_internal *, int, const char **)
{
return 0;
}
Modified: brlcad/trunk/src/librt/primitives/bspline/bspline.cpp
===================================================================
--- brlcad/trunk/src/librt/primitives/bspline/bspline.cpp 2010-12-29
01:54:10 UTC (rev 41825)
+++ brlcad/trunk/src/librt/primitives/bspline/bspline.cpp 2010-12-29
02:01:09 UTC (rev 41826)
@@ -1212,7 +1212,7 @@
}
int
-rt_nurb_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
char **argv)
+rt_nurb_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
const char **argv)
{
struct rt_nurb_internal *nurb;
int srf_no;
Modified: brlcad/trunk/src/librt/primitives/cline/cline.c
===================================================================
--- brlcad/trunk/src/librt/primitives/cline/cline.c 2010-12-29 01:54:10 UTC
(rev 41825)
+++ brlcad/trunk/src/librt/primitives/cline/cline.c 2010-12-29 02:01:09 UTC
(rev 41826)
@@ -1047,7 +1047,7 @@
int
-rt_cline_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, char **argv)
+rt_cline_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, const char **argv)
{
struct rt_cline_internal *cli =
(struct rt_cline_internal *)intern->idb_ptr;
Modified: brlcad/trunk/src/librt/primitives/dsp/dsp.c
===================================================================
--- brlcad/trunk/src/librt/primitives/dsp/dsp.c 2010-12-29 01:54:10 UTC (rev
41825)
+++ brlcad/trunk/src/librt/primitives/dsp/dsp.c 2010-12-29 02:01:09 UTC (rev
41826)
@@ -4721,7 +4721,7 @@
* rt_functab[].ft_adjust()
*/
int
-rt_dsp_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
char **argv)
+rt_dsp_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
const char **argv)
{
register const struct bu_structparse *sp = NULL;
const struct rt_dsp_internal *dsp_ip;
@@ -4742,8 +4742,7 @@
if (! sp) return BRLCAD_ERROR;
- return bu_structparse_argv(logstr, argc, argv, sp,
- (char *)intern->idb_ptr);
+ return bu_structparse_argv(logstr, argc, argv, sp, (char
*)intern->idb_ptr);
}
Modified: brlcad/trunk/src/librt/primitives/ebm/ebm.c
===================================================================
--- brlcad/trunk/src/librt/primitives/ebm/ebm.c 2010-12-29 01:54:10 UTC (rev
41825)
+++ brlcad/trunk/src/librt/primitives/ebm/ebm.c 2010-12-29 02:01:09 UTC (rev
41826)
@@ -1623,7 +1623,7 @@
* "M" - matrix to transform EBM solid into model coordinates
*/
int
-rt_ebm_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
char **argv)
+rt_ebm_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
const char **argv)
{
struct rt_ebm_internal *ebm;
Modified: brlcad/trunk/src/librt/primitives/extrude/extrude.c
===================================================================
--- brlcad/trunk/src/librt/primitives/extrude/extrude.c 2010-12-29 01:54:10 UTC
(rev 41825)
+++ brlcad/trunk/src/librt/primitives/extrude/extrude.c 2010-12-29 02:01:09 UTC
(rev 41826)
@@ -2449,7 +2449,7 @@
int
-rt_extrude_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, char **argv)
+rt_extrude_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, const char **argv)
{
struct rt_extrude_internal *extr;
fastf_t *new;
Modified: brlcad/trunk/src/librt/primitives/generic.c
===================================================================
--- brlcad/trunk/src/librt/primitives/generic.c 2010-12-29 01:54:10 UTC (rev
41825)
+++ brlcad/trunk/src/librt/primitives/generic.c 2010-12-29 02:01:09 UTC (rev
41826)
@@ -224,7 +224,7 @@
* rt_functab[].ft_adjust()
*/
int
-rt_generic_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, char **argv)
+rt_generic_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, const char **argv)
{
const struct rt_functab *ftp;
Modified: brlcad/trunk/src/librt/primitives/metaball/metaball.c
===================================================================
--- brlcad/trunk/src/librt/primitives/metaball/metaball.c 2010-12-29
01:54:10 UTC (rev 41825)
+++ brlcad/trunk/src/librt/primitives/metaball/metaball.c 2010-12-29
02:01:09 UTC (rev 41826)
@@ -918,10 +918,10 @@
* used for db put/asc2g
*/
int
-rt_metaball_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, char **argv)
+rt_metaball_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, const char **argv)
{
struct rt_metaball_internal *mb;
- char *pts, *pend;;
+ const char *pts, *pend;;
if(argc != 3) {
bu_vls_printf(logstr, "Invalid number of arguments: %d\n", argc);
Modified: brlcad/trunk/src/librt/primitives/nmg/nmg.c
===================================================================
--- brlcad/trunk/src/librt/primitives/nmg/nmg.c 2010-12-29 01:54:10 UTC (rev
41825)
+++ brlcad/trunk/src/librt/primitives/nmg/nmg.c 2010-12-29 02:01:09 UTC (rev
41826)
@@ -2819,7 +2819,7 @@
int
-rt_nmg_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
char **argv)
+rt_nmg_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
const char **argv)
{
struct model *m;
struct nmgregion *r=NULL;
Modified: brlcad/trunk/src/librt/primitives/obj_adjust.c
===================================================================
--- brlcad/trunk/src/librt/primitives/obj_adjust.c 2010-12-29 01:54:10 UTC
(rev 41825)
+++ brlcad/trunk/src/librt/primitives/obj_adjust.c 2010-12-29 02:01:09 UTC
(rev 41826)
@@ -24,7 +24,7 @@
int
-rt_obj_adjust(struct bu_vls *logstr, struct rt_db_internal *ip, int argc, char
**argv)
+rt_obj_adjust(struct bu_vls *logstr, struct rt_db_internal *ip, int argc,
const char **argv)
{
int id;
const struct rt_functab *ft;
Modified: brlcad/trunk/src/librt/primitives/pipe/pipe.c
===================================================================
--- brlcad/trunk/src/librt/primitives/pipe/pipe.c 2010-12-29 01:54:10 UTC
(rev 41825)
+++ brlcad/trunk/src/librt/primitives/pipe/pipe.c 2010-12-29 02:01:09 UTC
(rev 41826)
@@ -3767,7 +3767,7 @@
int
-rt_pipe_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
char **argv)
+rt_pipe_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc,
const char **argv)
{
struct rt_pipe_internal *pip;
struct wdb_pipept *ptp;
Modified: brlcad/trunk/src/librt/primitives/sketch/sketch.c
===================================================================
--- brlcad/trunk/src/librt/primitives/sketch/sketch.c 2010-12-29 01:54:10 UTC
(rev 41825)
+++ brlcad/trunk/src/librt/primitives/sketch/sketch.c 2010-12-29 02:01:09 UTC
(rev 41826)
@@ -2342,7 +2342,7 @@
int
-rt_sketch_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, char **argv)
+rt_sketch_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int
argc, const char **argv)
{
struct rt_sketch_internal *skt;
int ret, array_len;
@@ -2381,11 +2381,14 @@
fastf_t *new_verts=(fastf_t *)NULL;
int len;
char *ptr;
+ char *dupstr;
/* the vertex list is a list of lists (each element is a list of
two coordinates)
* so eliminate all the '{' and '}' chars in the list
*/
- ptr = argv[1];
+ dupstr = bu_strdup(argv[1]);
+
+ ptr = dupstr;
while (*ptr != '\0') {
if (*ptr == '{' || *ptr == '}')
*ptr = ' ';
@@ -2393,7 +2396,9 @@
}
len = 0;
- (void)tcl_list_to_fastf_array(brlcad_interp, argv[1], &new_verts,
&len);
+ (void)tcl_list_to_fastf_array(brlcad_interp, dupstr, &new_verts,
&len);
+ bu_free(dupstr, "sketch adjust strdup");
+
if (len%2) {
bu_vls_printf(logstr, "ERROR: Incorrect number of coordinates
for vertices\n");
return BRLCAD_ERROR;
Modified: brlcad/trunk/src/librt/primitives/table.c
===================================================================
--- brlcad/trunk/src/librt/primitives/table.c 2010-12-29 01:54:10 UTC (rev
41825)
+++ brlcad/trunk/src/librt/primitives/table.c 2010-12-29 02:01:09 UTC (rev
41826)
@@ -62,7 +62,7 @@
BU_EXTERN(int rt_##name##_export4, (struct bu_external *ep, const
struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct
resource *resp)); \
BU_EXTERN(void rt_##name##_ifree, (struct rt_db_internal *ip)); \
BU_EXTERN(int rt_##name##_get, (struct bu_vls *logstr, const struct
rt_db_internal *intern, const char *attr)); \
- BU_EXTERN(int rt_##name##_adjust, (struct bu_vls *logstr, struct
rt_db_internal *intern, int argc, char **argv)); \
+ BU_EXTERN(int rt_##name##_adjust, (struct bu_vls *logstr, struct
rt_db_internal *intern, int argc, const char **argv)); \
BU_EXTERN(int rt_##name##_describe, (struct bu_vls *str, const struct
rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct
db_i *db_i)); \
BU_EXTERN(void rt_##name##_make, (const struct rt_functab *ftp, struct
rt_db_internal *intern)); \
BU_EXTERN(int rt_##name##_xform, (struct rt_db_internal *op, const
mat_t mat, struct rt_db_internal *ip, int release, struct db_i *dbip, struct
resource *resp)); \
@@ -115,7 +115,7 @@
/* generics for object manipulation, in generic.c */
extern int rt_generic_get(struct bu_vls *, const struct rt_db_internal *,
const char *);
-extern int rt_generic_adjust(struct bu_vls *, struct rt_db_internal *, int,
char **);
+extern int rt_generic_adjust(struct bu_vls *, struct rt_db_internal *, int,
const char **);
extern int rt_generic_form(struct bu_vls *, const struct rt_functab *);
extern void rt_generic_make(const struct rt_functab *, struct rt_db_internal
*);
extern int rt_generic_xform(struct rt_db_internal *, const mat_t, struct
rt_db_internal *, int, struct db_i *, struct resource *);
@@ -127,13 +127,13 @@
BU_EXTERN(int rt_binunif_describe, (struct bu_vls *str, const struct
rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct
db_i *db_i));
BU_EXTERN(void rt_binunif_make, (const struct rt_functab *ftp, struct
rt_db_internal *intern));
BU_EXTERN(int rt_binunif_get, (struct bu_vls *logstr, const struct
rt_db_internal *intern, const char *attr));
-BU_EXTERN(int rt_binunif_adjust, (struct bu_vls *logstr, struct rt_db_internal
*intern, int argc, char **argv));
+BU_EXTERN(int rt_binunif_adjust, (struct bu_vls *logstr, struct rt_db_internal
*intern, int argc, const char **argv));
/* from tcl.c and db5_comb.c */
BU_EXTERN(int rt_comb_export5, (struct bu_external *ep, const struct
rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource
*resp));
BU_EXTERN(int rt_comb_import5, (struct rt_db_internal *ip, const struct
bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource
*resp));
BU_EXTERN(int rt_comb_get, (struct bu_vls *logstr, const struct rt_db_internal
*intern, const char *item));
-BU_EXTERN(int rt_comb_adjust, (struct bu_vls *logstr, struct rt_db_internal
*intern, int argc, char **argv));
+BU_EXTERN(int rt_comb_adjust, (struct bu_vls *logstr, struct rt_db_internal
*intern, int argc, const char **argv));
BU_EXTERN(int rt_comb_form, (struct bu_vls *logstr, const struct rt_functab
*ftp));
BU_EXTERN(void rt_comb_make, (const struct rt_functab *ftp, struct
rt_db_internal *intern));
BU_EXTERN(void rt_comb_ifree, (struct rt_db_internal *ip));
Modified: brlcad/trunk/src/librt/tcl.c
===================================================================
--- brlcad/trunk/src/librt/tcl.c 2010-12-29 01:54:10 UTC (rev 41825)
+++ brlcad/trunk/src/librt/tcl.c 2010-12-29 02:01:09 UTC (rev 41826)
@@ -928,7 +928,7 @@
* returns the number of elements converted.
*/
int
-tcl_list_to_fastf_array(Tcl_Interp *interp, char *char_list, fastf_t **array,
int *array_len)
+tcl_list_to_fastf_array(Tcl_Interp *interp, const char *char_list, fastf_t
**array, int *array_len)
{
Tcl_Obj *obj;
int ret;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits