Author. Ole Streicher <debian@liska.ath.cx>
Description: Fix many compiler warnings. Most of them are because of
 missing "const" specifiers.
 .
 The package compiles fine without this patch, so it may be dropped 
 if it does not apply cleanly.
--- a/tcltk/pow/PowCanvCurve.c
+++ b/tcltk/pow/PowCanvCurve.c
@@ -283,7 +283,7 @@
     PowCurveItem *powCurvePtr = (PowCurveItem *) itemPtr;
     double *pCoordPtr, *lCoordPtr;
     /*From the old PowProcessCurve command */
-    char **bboxptr;
+    const char **bboxptr;
     double x0 , x1, y0, y1;
     double rx0_curr, ry0_curr, rx1_curr, ry1_curr;
     double rx0 , rx1, ry0, ry1, ry, rx;
@@ -298,7 +298,7 @@
 
     int len;
     char *idxStr;
-    char *graphType;
+    const char *graphType;
     int zoomed;
     int xCount, yCount;
     int coordSel;
@@ -397,7 +397,7 @@
   tagstring = Tk_CanvasTagsPrintProc((ClientData) NULL, 
 				     Tk_CanvasTkwin(canvas),
 				     (char *)itemPtr,
-				     (int) NULL,
+				     0,
 				     &freeProcPtr);
 
 
@@ -1198,7 +1198,7 @@
     XColor *color;
 
     tkwin = Tk_CanvasTkwin(canvas);
-    if (Tk_ConfigureWidget(interp, tkwin, configSpecs, objc, (char**)objv,
+    if (Tk_ConfigureWidget(interp, tkwin, configSpecs, objc, (const char**)objv,
 	    (char *) powCurvePtr, flags|TK_CONFIG_OBJS) != TCL_OK) {
 	return TCL_ERROR;
     }
@@ -1752,7 +1752,7 @@
 {
     PowCurveItem *powCurvePtr = (PowCurveItem *) itemPtr;
     int length, argc, i;
-    char **argv = (char **) NULL;
+    const char **argv = (const char **) NULL;
     double *new, *coordPtr;
     Tk_State state = itemPtr->state;
 
--- a/tcltk/pow/PowCommands.c
+++ b/tcltk/pow/PowCommands.c
@@ -180,8 +180,8 @@
 int PowProcessCurve(ClientData clientData, Tcl_Interp *interp, 
 		    int argc, char *argv[]) {
   /* calculate the list of points for powPlotCurve */
-  char **bboxptr;
-  char **rbboxptr;
+  const char **bboxptr;
+  const char **rbboxptr;
   double x0 , x1, y0, y1;
   double rx0 , rx1, ry0, ry1, ry, rx;
   double t_rx0 , t_rx1, t_ry0, t_ry1; /* to avoid point lossage due to roundoff
@@ -327,9 +327,9 @@
 	    q1 = (int)(y + 3);
 	    q2 = (int)(y - 3);
 	    q3 = (int)(y);
-	  sprintf(PlotCommand," %ld %ld %ld %ld ",p2,q3,p1,q3);
+	  sprintf(PlotCommand," %d %d %d %d ",p2,q3,p1,q3);
 	  Tcl_VarEval(interp,argv[9]," create line ",PlotCommand,"-tags {",argv[7],"} ", (char *) NULL);
-	  sprintf(PlotCommand," %ld %ld %ld %ld ",p3,q2,p3,q1);
+	  sprintf(PlotCommand," %d %d %d %d ",p3,q2,p3,q1);
 	  Tcl_VarEval(interp,argv[9]," create line ",PlotCommand,"-tags {",argv[7],"} ", (char *) NULL);
 	  }	    
 	  if (dflag && lflag) {
@@ -384,9 +384,9 @@
 	  q1 = (int)(y + ye);
 	  q2 = (int)(y - ye);
 	  q3 = (int)(y);
-	  sprintf(PlotCommand," %ld %ld %ld %ld ",p2,q3,p1,q3);
+	  sprintf(PlotCommand," %d %d %d %d ",p2,q3,p1,q3);
 	  Tcl_VarEval(interp,argv[9]," create line ",PlotCommand,"-tags {",argv[7],"} ", (char *) NULL);
-	  sprintf(PlotCommand," %ld %ld %ld %ld ",p3,q2,p3,q1);
+	  sprintf(PlotCommand," %d %d %d %d ",p3,q2,p3,q1);
 	  Tcl_VarEval(interp,argv[9]," create line ",PlotCommand,"-tags {",argv[7],"} ", (char *) NULL);
 	  /*update every 100 points */
 	  if (i - lasti > 100) {
@@ -863,12 +863,12 @@
   int copy;
   char *direction;
   char *graphName;
-  char *canvas;
+  const char *canvas;
   double x, y;
   Point bbox_ll, bbox_ur;
   int i, j;
   char cmdLine[1024];
-  char **list;
+  const char **list;
     
 #if !(defined(__WIN32__) || defined(macintosh))
   char data_name[256];
@@ -1987,7 +1987,7 @@
 			  int argc, char *argv[]) {
   /* usage: powCreateDataFromList data_name list_o_data*/
   int largc;
-  char **largv, **counter;
+  const char **largv, **counter;
   double *data, *datacounter;
   int i,j;
   int status = 0;
@@ -2126,7 +2126,7 @@
    char *graphName;
    int len;
    char *idxStr;
-   char *graphType;
+   const char *graphType;
    int zoomed;
    int xCount, yCount;
    int graph_is_scope;
@@ -2257,7 +2257,7 @@
    char *graphName;
    int len;
    char *idxStr;
-   char *graphType;
+   const char *graphType;
    int zoomed;
    int xCount, yCount;
    int graph_is_scope;
@@ -2373,7 +2373,7 @@
    char *canvas=".pow.pow";
    char *graphName, *operation, *direction;
    int wcsStatus;
-   char *WCSstring;
+   const char *WCSstring;
    char powWCS[7]="powWCS";
    char curveName[512];
    struct wcsprm wcs;
@@ -2865,7 +2865,7 @@
   char *sign;
   char *regionFile;
   double *dataPar;
-  char **argvPtr;
+  const char **argvPtr;
 
   int i, numPars;
   int plen;
--- a/tcltk/pow/PowCreateCurve.c
+++ b/tcltk/pow/PowCreateCurve.c
@@ -12,7 +12,7 @@
   int new = 0, wcsStatus;
   char *str_ptr;
   int length = 0;
-  char *WCSstring;
+  const char *WCSstring;
   char powWCS[7]="powWCS";
 
   entry_ptr = Tcl_CreateHashEntry(&PowCurveTable, curve_name, &new);
--- a/tcltk/pow/PowCreateGraph.c
+++ b/tcltk/pow/PowCreateGraph.c
@@ -42,9 +42,9 @@
   int len;
   int zoomed;
   char *idxStr;
-  char *graphType;
+  const char *graphType;
   int xCount, yCount;
-  char *WCSvalue;
+  const char *WCSvalue;
   char errormsg[512];
 
 #if !(defined(__WIN32__) || defined(macintosh))
--- a/tcltk/pow/PowCreateImage.c
+++ b/tcltk/pow/PowCreateImage.c
@@ -1,8 +1,8 @@
 #include "pow.h"
 
-void PowCreateImage(char *image_name,char *data_name, int *xoffset, 
+void PowCreateImage(char *image_name, char *data_name, int *xoffset,
 		    int *yoffset, int *width, int *height, double *xorigin, 
-		    double *xinc, double *yorigin, double *yinc,char *xunits,
+		    double *xinc, double *yorigin, double *yinc, char *xunits,
 		    char *yunits, char *zunits, int *status) {
 /* xinc or yinc == 0 will mean count by integers */
   PowImage *image_instance;
@@ -25,7 +25,7 @@
   char smax[30];
   double datum;
   int i, wcsStatus;
-  char *WCSstring;
+  const char *WCSstring;
   char powWCS[7]="powWCS";
 
   Tcl_GetInt(interp,Tcl_GetVar(interp,"powPseudoImages",TCL_GLOBAL_ONLY),
--- a/tcltk/pow/PowEventHandlers.c
+++ b/tcltk/pow/PowEventHandlers.c
@@ -169,7 +169,7 @@
 					 * exists a partial command, so use
 					 * the secondary prompt. */
 {
-    char *promptCmd;
+    const char *promptCmd;
     int code;
 
     promptCmd = Tcl_GetVar(interp,
--- a/tcltk/pow/PowGrid.c
+++ b/tcltk/pow/PowGrid.c
@@ -39,20 +39,20 @@
 
 int   PowDrawGridLines( ClientData clientData, Tcl_Interp *interp, 
 			int argc, char *argv[] );
-int   CreateGridPts( PowGraph *graph, int zoomed, char *graphType, int xCount, int yCount, 
+int   CreateGridPts( PowGraph *graph, int zoomed, const char *graphType, int xCount, int yCount,
                      Point BotLeft_real, Point BotLeft, Point TopRgt, GridPt **rtnGrid );
 int   GetTicks( int nGrid, GridPt Grid[], int useWCS, char *tickScal[2],
 		int numTicks[2], double **ticks, char **axis );
 int   GetTics( double a1, double a2, int nlabel, int maxlabels,
 	       char *tickScal, double *list );
 int   PtBtwnPts( Point pt, Point pt1, Point pt2, char fixed );
-Point CalcXY( PowGraph *graph, Point pt, GridPt *G, int zoomed, char *graphType, int xCount, int yCount );
+Point CalcXY( PowGraph *graph, Point pt, GridPt *G, int zoomed, const char *graphType, int xCount, int yCount );
 Point SolveXY( double Val, char axis, GridPt *G);
-void CalcCoeff( PowGraph *graph, GridPt *G1, GridPt *G2, GridPt *G3, int zoomed, char *graphType, int xCount, int yCount );
+void CalcCoeff( PowGraph *graph, GridPt *G1, GridPt *G2, GridPt *G3, int zoomed, const char *graphType, int xCount, int yCount );
 void changeListOrder(double *list, int n);
 
 int CanvToGraph( PowGraph *graph, Point Pt0, Point pt, Point *Pt, SideVal sd );
-int GraphToCanv( PowGraph *graph, int zoomed, char *graphType, int xCount, int yCount, 
+int GraphToCanv( PowGraph *graph, int zoomed, const char *graphType, int xCount, int yCount,
                  Point Pt0, Point Pt, Point Pt0_real, Point *pt );
 
 /*****************************************************************/
@@ -60,7 +60,8 @@
 int PowDrawGridLines(ClientData clientData, Tcl_Interp *interp, 
 		     int argc, char *argv[])
 {
-   char *gn, *canvas, *color, *dash, **list;
+   char *gn, *canvas, *color, *dash;
+   const char **list;
    char *tickScal[2];
    int useWCS, doGrid;
    Point bbox_ll, bbox_ur, BotLft_real, IntSects[16], GridSegs[100];
@@ -77,7 +78,7 @@
    double tmp;
    int len;
    char *idxStr;
-   char *graphType;
+   const char *graphType;
    int zoomed;
    int xCount, yCount;
 
@@ -397,7 +398,7 @@
                                                          &((Grid).imgPt), sd); \
                                           } \
 
-int CreateGridPts(PowGraph *graph, int zoomed, char *graphType, int xCount, int yCount, 
+int CreateGridPts(PowGraph *graph, int zoomed, const char *graphType, int xCount, int yCount,
                   Point BotLft_real, Point BotLft, Point TopRgt, GridPt **rtnGrid)
 {
    GridPt *Grid;
@@ -894,7 +895,7 @@
    int errFlag;
    int len;
    char *idxStr;
-   char *graphType;
+   const char *graphType;
    int zoomed;
    int xCount, yCount;
 
@@ -938,7 +939,7 @@
    return(errFlag);
 }
 
-int GraphToCanv( PowGraph *graph, int zoomed, char *graphType, int xCount, int yCount, 
+int GraphToCanv( PowGraph *graph, int zoomed, const char *graphType, int xCount, int yCount,
                  Point Pt0, Point Pt, Point Pt0_real, Point *pt )
 {
    int errFlag;
@@ -997,7 +998,7 @@
    return 1;
 }
 
-Point CalcXY ( PowGraph *graph, Point pt, GridPt *G, int zoomed, char *graphType, int xCount, int yCount )
+Point CalcXY ( PowGraph *graph, Point pt, GridPt *G, int zoomed, const char *graphType, int xCount, int yCount )
 {
 
    /* Chai: 07/19/2007: This function is no longer used. */
@@ -1078,7 +1079,7 @@
    return XY;
 }
 
-void CalcCoeff( PowGraph *graph, GridPt *G1, GridPt *G2, GridPt *G3, int zoomed, char *graphType, int xCount, int yCount )
+void CalcCoeff( PowGraph *graph, GridPt *G1, GridPt *G2, GridPt *G3, int zoomed, const char *graphType, int xCount, int yCount )
 {
    double dX,dY,ds;
    double dX2,dY2;
@@ -1143,7 +1144,7 @@
    int i, j, xbnds, ybnds;
    long nelem, elem;
    PowImage *img;
-   char **list;
+   const char **list;
 #if !(defined(__WIN32__) || defined(macintosh))
    void *data;
 #endif
--- a/tcltk/pow/PowInit.c
+++ b/tcltk/pow/PowInit.c
@@ -95,7 +95,7 @@
 
 int Pow_Init(Tcl_Interp *interp_instance) {
   Tcl_DString pow_env;
-  char *charptr;
+  const char *charptr;
   char temp[1000];
 #if !(defined(__WIN32__) || defined(macintosh))
   Tcl_DString pow_script;
--- a/tcltk/pow/PowUtils.c
+++ b/tcltk/pow/PowUtils.c
@@ -17,7 +17,7 @@
 
 static int Pt_in_Poly( double x, double y, int nPts, double *Pts );
 
-int PowFindCurvesMinMax(char *curves, char *axis, double *min, double *max,
+int PowFindCurvesMinMax(const char *curves, char *axis, double *min, double *max,
 			int filter)
   /* Sets min and max to the minimum and maximum values found in the 
      "axis" vector of each member of the list of curves.  Initial values 
@@ -29,7 +29,7 @@
   PowVector *current_vector;
   PowData *current_data;
   int curve_index,curveArgc;
-  char **curveArgv;
+  const char **curveArgv;
   double datum;
   int i;
 
@@ -80,11 +80,11 @@
    PowCurve *current_curve;
    PowVector *Xvec, *Yvec;
    int curve_index,curveArgc;
-   char **curveArgv;
+   const char **curveArgv;
    double xdatum, ydatum, xmin, xmax, ymin, ymax, tmp;
    double lxmin, lxmax, lymin, lymax;
    int i,j, logX, logY;
-   char *optVal;
+   const char *optVal;
 #if !(defined(__WIN32__) || defined(macintosh))
    PowData *current_data;
 #endif
@@ -201,7 +201,7 @@
 {
   PowImage *current_image;
   int image_index,imageArgc;
-  char **imageArgv;
+  const char **imageArgv;
   double xorigin,xotherend,yorigin,yotherend,xcorner,ycorner;
 
   if(images == NULL || strstr(images,"NULL") != NULL) return TCL_OK;
@@ -349,7 +349,7 @@
   double tmp;
   int len;
   char *idxStr;
-  char *graphType;
+  const char *graphType;
   int zoomed;
   int xCount, yCount;
 
@@ -398,7 +398,7 @@
 }
 
 PowCurve *
-PowFindCurve(char *curve_name) {
+PowFindCurve(const char *curve_name) {
   Tcl_HashEntry *entry_ptr;
   PowCurve *curve_ptr;
 
@@ -415,7 +415,7 @@
 }
 
 PowImage *
-PowFindImage(char *image_name) {
+PowFindImage(const char *image_name) {
   Tcl_HashEntry *entry_ptr;
   PowImage *image_ptr;
 
@@ -547,10 +547,10 @@
 }
 
 
-char *PowGetObjectOption(char *graph, char *obj, char *option, char *objType)
+const char *PowGetObjectOption(char *graph, const char *obj, char *option, char *objType)
 {
    char *idxStr, gn[255];
-   char *res;
+   const char *res;
    int len;
 
    len = strlen(graph);
@@ -604,7 +604,7 @@
    char powFitsHeaderCnt[17]="powFitsHeaderCnt";
    int i, relax, HDRcnt, ctrl, nreject=0, nwcs=0;
    struct wcsprm *wcs;
-   char *HDRstring;
+   const char *HDRstring;
 
    /* input */
    int ncoord, nelem;
@@ -618,7 +618,7 @@
    int coordSel;
 
    int useWCSInfo;
-   char *str = NULL;
+   const char *str = NULL;
 
    if ( WCS->graphName[0] != '\0' && strcmp(WCS->graphName, "NULL") != 0 ) {
       str = Tcl_GetVar2(interp,"useWCSInfo",WCS->graphName,TCL_GLOBAL_ONLY);
@@ -733,7 +733,7 @@
    char powFitsHeaderCnt[17]="powFitsHeaderCnt";
    int i, relax, HDRcnt, ctrl, nreject=0, nwcs=0;
    struct wcsprm *wcs;
-   char *HDRstring;
+   const char *HDRstring;
 
    /* input */
    int ncoord, nelem;
@@ -747,7 +747,7 @@
    int coordSel;
 
    int useWCSInfo;
-   char *str = NULL;
+   const char *str = NULL;
 
    if ( WCS->graphName[0] != '\0' && strcmp(WCS->graphName, "NULL") != 0 ) {
       str = Tcl_GetVar2(interp,"useWCSInfo",WCS->graphName,TCL_GLOBAL_ONLY);
--- a/tcltk/pow/PowWCS.c
+++ b/tcltk/pow/PowWCS.c
@@ -39,7 +39,7 @@
    char powFitsHeaderCnt[17]="powFitsHeaderCnt";
    int i, relax, HDRcnt, ctrl, nreject=0, nwcs=0;
    struct wcsprm *wcs;
-   char *HDRstring;
+   const char *HDRstring;
    int status;
    int coordSel;
    Tcl_Obj *listObj;
@@ -247,7 +247,7 @@
    fprintf(stdout, "WCS->cdFrwd[1]  : <%20.15f,%20.15f>\n", WCS->cdFrwd[1][0], WCS->cdFrwd[1][1]);
    fprintf(stdout, "WCS->cdRvrs[0]  : <%20.15f,%20.15f>\n", WCS->cdRvrs[0][0], WCS->cdRvrs[0][1]);
    fprintf(stdout, "WCS->cdRvrs[1]  : <%20.15f,%20.15f>\n", WCS->cdRvrs[1][0], WCS->cdRvrs[1][1]);
-   fprintf(stdout, "WCS->rot        : <%d>\n", WCS->rot);
+   fprintf(stdout, "WCS->rot        : <%20.15f>\n", WCS->rot);
    fprintf(stdout, "WCS->haveWCSinfo: <%d>\n", WCS->haveWCSinfo);
    fprintf(stdout, "**********************************\n");
    fflush(stdout);
@@ -386,7 +386,7 @@
    FillinWCSStructure(&curve_ptr->WCS);
 
    if ( curve_ptr->WCS.type[0] == '\0' ) {
-      char *WCSstring;
+      const char *WCSstring;
 
       WCSstring = Tcl_GetVar2(interp, "powWCS", curveName,TCL_GLOBAL_ONLY);
       /* Tcl_SetVar2(interp,"powWCS", curveName, "", TCL_GLOBAL_ONLY); */
@@ -400,7 +400,7 @@
    PowCurve *current_curve;
    PowImage *current_image;
    int index,Argc;
-   char **Argv;
+   const char **Argv;
    char *p;
 
    graph->WCS.type[0] = '\0';
--- a/tcltk/pow/Visu_Init.c
+++ b/tcltk/pow/Visu_Init.c
@@ -48,7 +48,7 @@
 #if !(defined(__WIN32__) || defined(macintosh))
   char *visu_env;
   char temp[1000];
-  char *libDir;
+  const char *libDir;
 #endif
 
 #if !(defined(__WIN32__) || defined(macintosh))
--- a/tcltk/pow/pow.h
+++ b/tcltk/pow/pow.h
@@ -233,7 +233,7 @@
          int x, int y, int width, int height,
          double zoomX, double zoomY, double Xoff, double Yoff));
 
-int PowFindCurvesMinMax(char *, char *, double *, double *, int);
+int PowFindCurvesMinMax(const char *, char *, double *, double *, int);
 int PowFindCurvesValue (char *, char *, int, double *); 
 int PowFindCurvesBBox(char *, char *, double *, double *,
 		      double *, double *, WCSdata *);
@@ -245,7 +245,7 @@
 int PowSortGraphMinMax(PowGraph *, double *, double *,double *, double *,
 		       double *, double *);
 
-char *PowGetObjectOption(char *gn, char *obj, char *option, char *objType);
+const char *PowGetObjectOption(char *gn, const char *obj, char *option, char *objType);
 
 #ifdef __WIN32__
   __int64 PowExtractDatumLong(PowData *, int);
@@ -255,9 +255,9 @@
 
 double PowExtractDatum(PowData *, int);
 int PowPutDatum(PowData *,double,int);
-PowCurve * PowFindCurve(char *);
+PowCurve * PowFindCurve(const char *);
 PowVector * PowFindVector(char *);
-PowImage * PowFindImage(char *);
+PowImage * PowFindImage(const char *);
 PowGraph * PowFindGraph(char *);
 PowData * PowFindData(char *);
 int PowIsInRegion( double* , double *, int , char *, int* );
--- a/tcltk/pow/Visu_tkImgPict.c
+++ b/tcltk/pow/Visu_tkImgPict.c
@@ -109,16 +109,16 @@
  */
 
 static int		ImgPictCmd _ANSI_ARGS_((ClientData clientData,
-			    Tcl_Interp *interp, int argc, char **argv));
+			    Tcl_Interp *interp, int argc, const char **argv));
 static int		ParseSubcommandOptions _ANSI_ARGS_((
 			    struct SubcommandOptions *optPtr,
 			    Tcl_Interp *interp, int allowedOptions,
-			    int *indexPtr, int argc, char **argv));
+			    int *indexPtr, int argc, const char **argv));
 static void		ImgPictCmdDeletedProc _ANSI_ARGS_((
 			    ClientData clientData));
 static int		ImgPictConfigureMaster _ANSI_ARGS_((
 			    Tcl_Interp *interp, PictMaster *masterPtr,
-			    int argc, char **argv, int flags));
+			    int argc, const char **argv, int flags));
 static void		ImgPictConfigureInstance _ANSI_ARGS_((
 			    PictInstance *instancePtr));
 static void		ImgPictSetSize _ANSI_ARGS_((PictMaster *masterPtr,
@@ -128,15 +128,15 @@
 static int              ImgPictCopy(Tcl_Interp *interp,
 				    PictMaster *masterPtr,
 				    int argc,
-				    char **argv);
+				    const char **argv);
 static int              ImgPictSnap2Photo(Tcl_Interp *interp,
 					  PictMaster *masterPtr,
 					  int argc,
-					  char **argv);
+					  const char **argv);
 static int              ImgPictSnap2Pict(Tcl_Interp *interp,
 					 PictMaster *masterPtr,
 					 int argc,
-					 char **argv);
+					 const char **argv);
 static int		MatchFileFormat _ANSI_ARGS_((Tcl_Interp *interp,
 			    Tcl_Channel f, char *fileName, char *formatString,
 			    Tk_PictImageFormat **imageFormatPtr,
@@ -295,7 +295,7 @@
     Tcl_HashEntry *entry;
     int isNew;
     int j, argc;
-    char **argv;
+    const char **argv;
 
 #ifdef DEBUG
     printf("ImgPictCreate\n");
@@ -303,7 +303,7 @@
 
     /*  Convert Tcl_Objs to char *  */
     argc = objc;
-    argv = (char **) ckalloc( argc * sizeof(char *) );
+    argv = (const char **) ckalloc( argc * sizeof(char *) );
     for( j=0; j<objc; j++ ) {
        argv[j] = Tcl_GetStringFromObj( objv[j], NULL );
     }
@@ -384,7 +384,7 @@
     ClientData clientData;	/* Information about Pict master. */
     Tcl_Interp *interp;		/* Current interpreter. */
     int argc;			/* Number of arguments. */
-    char **argv;		/* Argument strings. */
+    const char **argv;		/* Argument strings. */
 {
     PictMaster *masterPtr = (PictMaster *) clientData;
     int c, result;
@@ -520,7 +520,7 @@
 	int y_lut[MAX_CLUT_LEN];
 	int i,j;
 	int lut_size, nElem;
-        char **lutElem;
+        const char **lutElem;
 	int *p_lut;
 
 	if( (instancePtr=masterPtr->instancePtr) == NULL )
@@ -1322,7 +1322,7 @@
 				 * current index in argv; this variable is
 				 * updated by this procedure. */
     int argc;			/* Number of arguments in argv[]. */
-    char **argv;		/* Arguments to be parsed. */
+    const char **argv;		/* Arguments to be parsed. */
 {
     int index, c, bit, currentBit;
     size_t length;
@@ -1544,7 +1544,7 @@
     PictMaster *masterPtr;	/* Pointer to data structure describing
 				 * overall Pict image to (re)configure. */
     int argc;			/* Number of entries in argv. */
-    char **argv;		/* Pairs of configuration options for image. */
+    const char **argv;		/* Pairs of configuration options for image. */
     int flags;			/* Flags to pass to Tk_ConfigureWidget,
 				 * such as TK_CONFIG_ARGV_ONLY. */
 {
@@ -2341,7 +2341,7 @@
 static int ImgPictCopy(Tcl_Interp *interp,
 		       PictMaster *masterPtr,
 		       int argc,
-		       char **argv)
+		       const char **argv)
 {
   int index;
   int width, height;
@@ -2469,7 +2469,7 @@
 int ImgPictSnap2Photo(Tcl_Interp *interp,
 		      PictMaster *masterPtr,
 		      int argc,
-		      char **argv)
+		      const char **argv)
 {
   void *destHandle;
   int i,j,col;
@@ -2599,7 +2599,7 @@
 int ImgPictSnap2Pict(Tcl_Interp *interp,
 		      PictMaster *masterPtr,
 		      int argc,
-		      char **argv)
+		      const char **argv)
 {
   PictMaster *destmasterPtr;
   Tk_PictHandle destHandle;
