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

Reply via email to