summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipng/dvipng-1.12-PATCHES/patch-05-warnings
blob: 2de4ce3a6963a7fd9881c58512a34db9c2c7d2a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
	Avoid compiler warnings:
	ANSI C function definitions.
	Declare various (param and other) strings as const.
	* special.c (SetSpecial): Avoid assigning a literal string to
	the non-const string variable 'special' (somewhat clumsy).

diff -ur dvipng-1.12.orig/color.c dvipng-1.12/color.c
--- dvipng-1.12.orig/color.c	2009-06-09 12:58:51.000000000 +0200
+++ dvipng-1.12/color.c	2009-10-01 11:14:12.000000000 +0200
@@ -39,11 +39,11 @@
   char              name[1];
 } *colornamep=NULL,*xcp=NULL;
 
-char *colordef[]={"xcolor.sty","dvipsnam.def",
-		  "svgnam.def","x11nam.def",NULL};
+const char *colordef[]={"xcolor.sty","dvipsnam.def",
+			"svgnam.def","x11nam.def",NULL};
 char *xcpname=NULL;
 
-void initcolor() 
+void initcolor(void) 
 {
    csp = 1;
    cstack[0].red=255; 
@@ -54,7 +54,7 @@
    cstack[1].blue=0; 
 }
 
-static struct colorname * NewColor(char* prefix, int nprefix,
+static struct colorname * NewColor(const char* prefix, int nprefix,
               char* name, int nname,
 	      char* model, int nmodel,
 	      char* values, int nvalues)
@@ -92,11 +92,12 @@
 #define FINDPSNAMEEND(s,n) n=0; while(s<max && *s!='{') { s++; n++; }
 #define BLANKCOMMAS(s) 
 
-static struct colorname* LoadColornameFile(char* filename)
+static struct colorname* LoadColornameFile(const char* filename)
 {
   struct colorname *list=NULL,*tmp=NULL; 
   char *filepath,*pos,*max;
-  char *prefix="",*name,*values,*model;
+  const char *prefix="";
+  char *name,*values,*model;
   int nprefix=0,nname,nvalues,nmodel;
   struct filemmap fmmap;
 
@@ -190,7 +191,7 @@
   ClearXColorPrologue();
 }
 
-void InitXColorPrologue(char* name)
+void InitXColorPrologue(const char* name)
 {
   ClearXColorPrologue();
   xcpname=malloc(strlen(name)+1);
@@ -203,7 +204,8 @@
 {
   struct colorname *list=NULL,*tmp=NULL; 
   char *filepath,*pos,*max;
-  char *prefix="",*name,*values,*model;
+  const char *prefix="";
+  char *name,*values,*model;
   int nprefix=0,nname,nvalues,nmodel;
   struct filemmap fmmap;
 
@@ -244,7 +246,7 @@
 #define NEXTINT(c) strtol(c,&end,10); WARN_IF_FAILED(c,end); c=end
 #define NEXTHEX(c) strtol(c,&end,16); WARN_IF_FAILED(c,end); c=end
 
-void stringrgb(char* color,int *r,int *g,int *b)
+void stringrgb(const char* color,int *r,int *g,int *b)
 {
   char* end;
   static int unloaded=1;
@@ -364,14 +366,14 @@
   DEBUG_PRINT(DEBUG_COLOR,("%d %d %d) ",*r,*g,*b))
 }
 
-void background(char* p)
+void background(const char* p)
 {
   stringrgb(p, &cstack[0].red, &cstack[0].green, &cstack[0].blue);
   DEBUG_PRINT(DEBUG_COLOR,("\n  BACKGROUND:\t(%d %d %d) ",
 			   cstack[0].red, cstack[0].green, cstack[0].blue));
 }
 
-void pushcolor(char * p)
+void pushcolor(const char * p)
 {
   if ( ++csp == STACK_SIZE )
     Fatal("out of color stack space") ;
@@ -380,13 +382,13 @@
 			   cstack[csp].red, cstack[csp].green, cstack[csp].blue))
 }
 
-void popcolor()
+void popcolor(void)
 {
   if (csp > 1) csp--; /* Last color is global */
   DEBUG_PRINT(DEBUG_COLOR,("\n  COLOR POP\t"))
 }
 
-void resetcolorstack(char * p)
+void resetcolorstack(const char * p)
 {
   if ( csp > 1 )
     Warning("global color change within nested colors");
diff -ur dvipng-1.12.orig/dvi.c dvipng-1.12/dvi.c
--- dvipng-1.12.orig/dvi.c	2009-06-09 12:36:50.000000000 +0200
+++ dvipng-1.12/dvi.c	2009-10-01 00:45:04.000000000 +0200
@@ -38,7 +38,7 @@
 
 bool followmode=0;
 
-bool DVIFollowToggle()
+bool DVIFollowToggle(void)
 {
   return followmode = ! followmode;
 }
diff -ur dvipng-1.12.orig/dvipng.h dvipng-1.12/dvipng.h
--- dvipng-1.12.orig/dvipng.h	2009-03-25 14:04:41.000000000 +0100
+++ dvipng-1.12/dvipng.h	2009-10-01 11:14:10.000000000 +0200
@@ -223,9 +223,9 @@
 bool    MmapFile (char *filename,struct filemmap *fmmap);
 void    UnMmapFile(struct filemmap* fmmap);
 
-void    Message(int, char *fmt, ...);
-void    Warning(char *fmt, ...);
-void    Fatal(char *fmt, ...);
+void    Message(int, const char *fmt, ...);
+void    Warning(const char *fmt, ...);
+void    Fatal(const char *fmt, ...);
 
 int32_t   SNumRead(unsigned char*, register int);
 uint32_t   UNumRead(unsigned char*, register int);
@@ -354,10 +354,10 @@
 #endif
 
 /********************************************************/
-/*********************  pplist.h  ***********************/
+/*********************  ppagelist.h  ********************/
 /********************************************************/
 
-bool    ParsePages(char*);
+bool    ParsePages(const char*);
 void    FirstPage(int32_t,bool);
 void    LastPage(int32_t,bool);
 void    ClearPpList(void);
@@ -396,19 +396,19 @@
 void      EndVFMacro(void);
 
 /**************************************************/
-void handlepapersize(char*,int32_t*,int32_t*);
+void handlepapersize(const char*,int32_t*,int32_t*);
 
-void stringrgb(char* colorstring,int *r,int *g,int *b);
-void background(char *);
+void stringrgb(const char* colorstring,int *r,int *g,int *b);
+void background(const char *);
 void initcolor(void);
 void popcolor(void);
-void pushcolor(char *);
-void resetcolorstack(char *);
+void pushcolor(const char *);
+void resetcolorstack(const char *);
 void StoreColorStack(struct page_list *tpagep);
 void ReadColorStack(struct page_list *tpagep);
 void StoreBackgroundColor(struct page_list *tpagep);
 void ClearColorNames(void);
-void InitXColorPrologue(char* prologuename);
+void InitXColorPrologue(const char* prologuename);
 
 /**********************************************************************/
 /*************************  Global Variables  *************************/
diff -ur dvipng-1.12.orig/fontmap.c dvipng-1.12/fontmap.c
--- dvipng-1.12.orig/fontmap.c	2009-06-09 12:55:27.000000000 +0200
+++ dvipng-1.12/fontmap.c	2009-10-01 00:44:57.000000000 +0200
@@ -55,7 +55,7 @@
   return(word);
 }
 
-static char* find_format(char* name)
+static char* find_format(const char* name)
 {
   /* Cater for both new (first case) and old (second case) kpathsea */
   char* format =
diff -ur dvipng-1.12.orig/misc.c dvipng-1.12/misc.c
--- dvipng-1.12.orig/misc.c	2009-03-25 14:05:54.000000000 +0100
+++ dvipng-1.12/misc.c	2009-10-01 00:39:28.000000000 +0200
@@ -690,7 +690,7 @@
 /**********************************************************************/
 /******************************  Fatal  *******************************/
 /**********************************************************************/
-void Fatal (char *fmt, ...)
+void Fatal (const char *fmt, ...)
 {
   va_list args;
 
@@ -719,7 +719,7 @@
 /**********************************************************************/
 /*****************************  Warning  ******************************/
 /**********************************************************************/
-void Warning(char *fmt, ...)
+void Warning(const char *fmt, ...)
 {
   va_list args;
 
@@ -738,7 +738,7 @@
 /**********************************************************************/
 /*****************************  Message  ******************************/
 /**********************************************************************/
-void Message(int activeflags, char *fmt, ...)
+void Message(int activeflags, const char *fmt, ...)
 {
   va_list args;
 
diff -ur dvipng-1.12.orig/papersiz.c dvipng-1.12/papersiz.c
--- dvipng-1.12.orig/papersiz.c	2009-06-09 12:59:23.000000000 +0200
+++ dvipng-1.12/papersiz.c	2009-10-01 01:49:36.000000000 +0200
@@ -36,20 +36,21 @@
  *   Advance the passed pointer as well.
  */
 
-static int32_t myatodim(char ** p)
+static int32_t myatodim(const char ** p)
 { 
   double tmp; /* double accuracy is enough, I think */
   int i=0;
+  char *q;
 
-  tmp = strtod(*p,p);
-  while (**p == ' ') 
-    (*p)++;
-  while (i<8 && ((*p)[0]!=lengthnames[i][0] || (*p)[1]!=lengthnames[i][1]))
+  tmp = strtod(*p,&q);
+  while (*q == ' ') 
+    q++;
+  while (i<8 && (q[0]!=lengthnames[i][0] || q[1]!=lengthnames[i][1]))
     i++; 
-  if (i==8 && ((*p)[0]!=lengthnames[i][0] || (*p)[1]!=lengthnames[i][1]))
-    Warning("unrecognized length unit \"%.2s\", assuming inches",*p);
-  while (**p != ',' && **p !='\0')
-    (*p)++;
+  if (i==8 && (q[0]!=lengthnames[i][0] || q[1]!=lengthnames[i][1]))
+    Warning("unrecognized length unit \"%.2s\", assuming inches",q);
+  while (*q != ',' && *q !='\0')
+    q++;
   tmp = tmp*lengthsp[i]*dpi/4736286L; /*   sp * dots/in / (sp/in), convert sp to pixels   */
   return((int32_t) tmp);
 }
@@ -60,7 +61,7 @@
  *   the string after the `papersize=' specification.
  */
 
-void handlepapersize(char * p, int32_t * x, int32_t * y)
+void handlepapersize(const char * p, int32_t * x, int32_t * y)
 { 
    while (*p == ' ')
       p++ ;
diff -ur dvipng-1.12.orig/ppagelist.c dvipng-1.12/ppagelist.c
--- dvipng-1.12.orig/ppagelist.c	2009-06-09 12:45:06.000000000 +0200
+++ dvipng-1.12/ppagelist.c	2009-10-01 10:40:01.000000000 +0200
@@ -130,9 +130,10 @@
 /* Parse a string representing a list of pages.  Return 0 iff ok.  As a
    side effect, the page selection(s) is (are) prepended to ppages. */
 
-bool ParsePages(char *s)
+bool ParsePages(const char *s)
 {
-  char *c;		/* conversion start */
+  const char *c;	/* conversion start */
+  char *t;
   long int ps_low = PAGE_MINPAGE, ps_high = PAGE_MAXPAGE;
 
   while (*s==' ' || *s=='\t') s++;
@@ -140,23 +141,27 @@
     if (*s=='-' || *s==':') { /* range with no starting value */
       ps_low = PAGE_MINPAGE;
       c=s+1;
-      ps_high = strtol(c,&s,10);
+      ps_high = strtol(c,&t,10);
+      s = t;
       if (c==s) ps_high=PAGE_MAXPAGE; /* no number */
       while (*s==' ' || *s=='\t') s++;
       if (*s=='-' || *s==':') { /* Oh, range with negative starting value */
 	ps_low = -ps_high;
 	c=s+1;
-	ps_high = strtol(c,&s,10);
+	ps_high = strtol(c,&t,10);
+	s = t;
 	if (c==s) ps_high=PAGE_MAXPAGE; /* no number */
       }
     } else { /* range with starting value, or singleton */
       c=s;
-      ps_low = ps_high = strtol(c,&s,10);
+      ps_low = ps_high = strtol(c,&t,10);
+      s = t;
       if (c==s) 
 	return(true);
       if (*s=='-' || *s==':') { /* range */
 	c=s+1;
-	ps_high = strtol(c,&s,10);
+	ps_high = strtol(c,&t,10);
+	s = t;
 	if (c==s) ps_high=PAGE_MAXPAGE; /* no number */
       }
     }
diff -ur dvipng-1.12.orig/special.c dvipng-1.12/special.c
--- dvipng-1.12.orig/special.c	2009-06-09 13:01:45.000000000 +0200
+++ dvipng-1.12/special.c	2009-10-01 14:43:06.000000000 +0200
@@ -132,7 +132,7 @@
 
 
 static gdImagePtr
-ps2png(struct pscode* pscodep, char *device, int hresolution, int vresolution, 
+ps2png(struct pscode* pscodep, const char *device, int hresolution, int vresolution, 
        int llx, int lly, int urx, int ury, int bgred, int bggreen, int bgblue)
 {
 #ifndef MIKTEX
@@ -305,7 +305,7 @@
   return(scaledimage);
 }
 
-static void newpsheader(char* special) {
+static void newpsheader(const char* special) {
   struct pscode* tmp;
   char* txt;
 
@@ -669,6 +669,7 @@
       struct pscode *tmp;
       gdImagePtr psimage=NULL;
       char *txt;
+      const char *newspecial=NULL; /* Avoid warning from special="..." */
       
       /* Some packages split their literal PostScript code into
 	 several specials. Check for those, and concatenate them so
@@ -694,9 +695,9 @@
 	   specials. The first numbers are generally valid for the bop
 	   instruction, and the latter code is to move the origin to
 	   the right place. */
-	special="ps:: 39139632 55387786 1000 600 600 (tikzdefault.dvi) @start 1 0 bop pgfo 0 0 matrix defaultmatrix transform itransform translate";
+	newspecial="ps:: 39139632 55387786 1000 600 600 (tikzdefault.dvi) @start 1 0 bop pgfo 0 0 matrix defaultmatrix transform itransform translate";
       else if (strcmp(special,"ps:: pgfc")==0)
-	special="ps:: pgfc eop end";
+	newspecial="ps:: pgfc eop end";
       nextisps=DVIIsNextPSSpecial(dvi);
       if (psenvironment || nextisps) {
 	if (!nextisps) {
@@ -705,12 +706,20 @@
 	}
 	/* Don't use alloca, we do not want to run out of stack space */
 	DEBUG_PRINT(DEBUG_GS,("\n  PS SPECIAL "));
-	txt=malloc(strlen(special)+1);
-	strcpy(txt,special);
+	if (newspecial == NULL)
+	  newspecial=special;
+	if ((txt=malloc(strlen(newspecial)+1))==NULL)
+	  Fatal("cannot allocate space for raw PostScript special");
+	strcpy(txt,newspecial);
 	PSCodeInit(tmp,txt);
 	return;
       }
       DEBUG_PRINT(DEBUG_DVI,("\n  LAST PS SPECIAL "));
+      if (newspecial != NULL) {
+	if ((special=malloc(strlen(newspecial)+1))==NULL)
+	  Fatal("cannot allocate space for raw PostScript special");
+	strcpy(special,newspecial);
+      }
       PSCodeInit(tmp,special);
       /* Now, render image */
       if (option_flags & NO_GHOSTSCRIPT)
@@ -752,6 +761,8 @@
       }
       free(pscodep);
       pscodep=NULL;
+      if (newspecial != NULL)
+	free(special);
       if (psimage==NULL) 
 	page_flags |= PAGE_GAVE_WARN;
       Message(BE_NONQUIET,">");