6363#ifndef TCL_IO_FAILURE
6464#define TCL_IO_FAILURE (-1)
6565#endif
66+ #ifndef TCL_INDEX_NONE
67+ #define TCL_INDEX_NONE (-1)
68+ #endif
6669
6770/* Additional parameters to nsvgRasterize() */
6871
@@ -223,7 +226,7 @@ FileMatchSVG(
223226 Tcl_DecrRefCount (dataObj );
224227 return 0 ;
225228 }
226- if (!Tcl_Eof (chan ) && (Tcl_ReadChars (chan , dataObj , -1 , 1 ) == TCL_IO_FAILURE )) {
229+ if (!Tcl_Eof (chan ) && (Tcl_ReadChars (chan , dataObj , TCL_INDEX_NONE , 1 ) == TCL_IO_FAILURE )) {
227230 /* in case of an error reading the file */
228231 Tcl_DecrRefCount (dataObj );
229232 return 0 ;
@@ -232,15 +235,15 @@ FileMatchSVG(
232235 nsvgImage = ParseSVGWithOptions (interp , data , length , formatObj , & ropts );
233236 Tcl_DecrRefCount (dataObj );
234237 if (nsvgImage != NULL ) {
235- GetScaleFromParameters (nsvgImage , & ropts , widthPtr , heightPtr );
236- if ((* widthPtr <= 0.0 ) || (* heightPtr <= 0.0 )) {
238+ GetScaleFromParameters (nsvgImage , & ropts , widthPtr , heightPtr );
239+ if ((* widthPtr <= 0.0 ) || (* heightPtr <= 0.0 )) {
237240 nsvgDelete (nsvgImage );
238241 return 0 ;
239- }
240- if (!CacheSVG (interp , chan , formatObj , nsvgImage , & ropts )) {
242+ }
243+ if (!CacheSVG (interp , chan , formatObj , nsvgImage , & ropts )) {
241244 nsvgDelete (nsvgImage );
242- }
243- return 1 ;
245+ }
246+ return 1 ;
244247 }
245248 return 0 ;
246249}
@@ -282,13 +285,13 @@ FileReadSVG(
282285 (void )fileName ;
283286
284287 if (nsvgImage == NULL ) {
285- Tcl_Obj * dataObj = Tcl_NewObj ();
288+ Tcl_Obj * dataObj = Tcl_NewObj ();
286289
287- if (Tcl_ReadChars (chan , dataObj , -1 , 0 ) == TCL_IO_FAILURE ) {
290+ if (Tcl_ReadChars (chan , dataObj , TCL_INDEX_NONE , 0 ) == TCL_IO_FAILURE ) {
288291 /* in case of an error reading the file */
289292 Tcl_DecrRefCount (dataObj );
290- Tcl_SetObjResult (interp , Tcl_NewStringObj ("read error" , -1 ));
291- Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "READ_ERROR" , NULL );
293+ Tcl_SetObjResult (interp , Tcl_NewStringObj ("read error" , TCL_INDEX_NONE ));
294+ Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "READ_ERROR" , ( char * ) NULL );
292295 return TCL_ERROR ;
293296 }
294297 data = Tcl_GetStringFromObj (dataObj , & length );
@@ -343,15 +346,15 @@ StringMatchSVG(
343346 }
344347 nsvgImage = ParseSVGWithOptions (interp , data , length , formatObj , & ropts );
345348 if (nsvgImage != NULL ) {
346- GetScaleFromParameters (nsvgImage , & ropts , widthPtr , heightPtr );
347- if ((* widthPtr <= 0.0 ) || (* heightPtr <= 0.0 )) {
349+ GetScaleFromParameters (nsvgImage , & ropts , widthPtr , heightPtr );
350+ if ((* widthPtr <= 0.0 ) || (* heightPtr <= 0.0 )) {
348351 nsvgDelete (nsvgImage );
349352 return 0 ;
350- }
351- if (!CacheSVG (interp , dataObj , formatObj , nsvgImage , & ropts )) {
353+ }
354+ if (!CacheSVG (interp , dataObj , formatObj , nsvgImage , & ropts )) {
352355 nsvgDelete (nsvgImage );
353- }
354- return 1 ;
356+ }
357+ return 1 ;
355358 }
356359 return 0 ;
357360}
@@ -431,7 +434,7 @@ ParseSVGWithOptions(
431434 NSVGimage * nsvgImage ;
432435 int parameterScaleSeen = 0 ;
433436 static const char * const fmtOptions [] = {
434- "-dpi" , "-scale" , "-scaletoheight" , "-scaletowidth" , NULL
437+ "-dpi" , "-scale" , "-scaletoheight" , "-scaletowidth" , NULL
435438 };
436439 enum fmtOptionsEnum {
437440 OPT_DPI , OPT_SCALE , OPT_SCALE_TO_HEIGHT , OPT_SCALE_TO_WIDTH
@@ -444,8 +447,8 @@ ParseSVGWithOptions(
444447
445448 inputCopy = (char * )attemptckalloc (length + 1 );
446449 if (inputCopy == NULL ) {
447- Tcl_SetObjResult (interp , Tcl_NewStringObj ("cannot alloc data buffer" , -1 ));
448- Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "OUT_OF_MEMORY" , NULL );
450+ Tcl_SetObjResult (interp , Tcl_NewStringObj ("cannot alloc data buffer" , TCL_INDEX_NONE ));
451+ Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "OUT_OF_MEMORY" , ( char * ) NULL );
449452 goto error ;
450453 }
451454 memcpy (inputCopy , input , length );
@@ -460,7 +463,7 @@ ParseSVGWithOptions(
460463 ropts -> scaleToWidth = 0 ;
461464 if ((formatObj != NULL ) &&
462465 Tcl_ListObjGetElements (interp , formatObj , & objc , & objv ) != TCL_OK ) {
463- goto error ;
466+ goto error ;
464467 }
465468 for (; objc > 0 ; objc -- , objv ++ ) {
466469 int optIndex ;
@@ -497,7 +500,7 @@ ParseSVGWithOptions(
497500 case OPT_SCALE_TO_WIDTH :
498501 if ( parameterScaleSeen ) {
499502 Tcl_SetObjResult (interp , Tcl_NewStringObj (
500- "only one of -scale, -scaletoheight, -scaletowidth may be given" , -1 ));
503+ "only one of -scale, -scaletoheight, -scaletowidth may be given" , TCL_INDEX_NONE ));
501504 Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "BAD_SCALE" ,
502505 NULL );
503506 goto error ;
@@ -514,11 +517,11 @@ ParseSVGWithOptions(
514517 switch ((enum fmtOptionsEnum ) optIndex ) {
515518 case OPT_DPI :
516519 if (Tcl_GetDoubleFromObj (interp , objv [0 ], & dpi ) == TCL_ERROR ) {
517- goto error ;
520+ goto error ;
518521 }
519522 if (dpi < 0.0 ) {
520523 Tcl_SetObjResult (interp , Tcl_NewStringObj (
521- "-dpi value must be positive" , -1 ));
524+ "-dpi value must be positive" , TCL_INDEX_NONE ));
522525 Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "BAD_DPI" ,
523526 NULL );
524527 goto error ;
@@ -527,11 +530,11 @@ ParseSVGWithOptions(
527530 case OPT_SCALE :
528531 if (Tcl_GetDoubleFromObj (interp , objv [0 ], & ropts -> scale ) ==
529532 TCL_ERROR ) {
530- goto error ;
533+ goto error ;
531534 }
532535 if (ropts -> scale <= 0.0 ) {
533536 Tcl_SetObjResult (interp , Tcl_NewStringObj (
534- "-scale value must be positive" , -1 ));
537+ "-scale value must be positive" , TCL_INDEX_NONE ));
535538 Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "BAD_SCALE" ,
536539 NULL );
537540 goto error ;
@@ -540,11 +543,11 @@ ParseSVGWithOptions(
540543 case OPT_SCALE_TO_HEIGHT :
541544 if (Tcl_GetIntFromObj (interp , objv [0 ], & ropts -> scaleToHeight ) ==
542545 TCL_ERROR ) {
543- goto error ;
546+ goto error ;
544547 }
545548 if (ropts -> scaleToHeight <= 0 ) {
546549 Tcl_SetObjResult (interp , Tcl_NewStringObj (
547- "-scaletoheight value must be positive" , -1 ));
550+ "-scaletoheight value must be positive" , TCL_INDEX_NONE ));
548551 Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "BAD_SCALE" ,
549552 NULL );
550553 goto error ;
@@ -553,11 +556,11 @@ ParseSVGWithOptions(
553556 case OPT_SCALE_TO_WIDTH :
554557 if (Tcl_GetIntFromObj (interp , objv [0 ], & ropts -> scaleToWidth ) ==
555558 TCL_ERROR ) {
556- goto error ;
559+ goto error ;
557560 }
558561 if (ropts -> scaleToWidth <= 0 ) {
559562 Tcl_SetObjResult (interp , Tcl_NewStringObj (
560- "-scaletowidth value must be positive" , -1 ));
563+ "-scaletowidth value must be positive" , TCL_INDEX_NONE ));
561564 Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "BAD_SCALE" ,
562565 NULL );
563566 goto error ;
@@ -568,16 +571,16 @@ ParseSVGWithOptions(
568571
569572 nsvgImage = nsvgParse (inputCopy , "px" , (float ) dpi );
570573 if (nsvgImage == NULL ) {
571- Tcl_SetObjResult (interp , Tcl_NewStringObj ("cannot parse SVG image" , -1 ));
572- Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "PARSE_ERROR" , NULL );
574+ Tcl_SetObjResult (interp , Tcl_NewStringObj ("cannot parse SVG image" , TCL_INDEX_NONE ));
575+ Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "PARSE_ERROR" , ( char * ) NULL );
573576 goto error ;
574577 }
575578 ckfree (inputCopy );
576579 return nsvgImage ;
577580
578581error :
579582 if (inputCopy != NULL ) {
580- ckfree (inputCopy );
583+ ckfree (inputCopy );
581584 }
582585 return NULL ;
583586}
@@ -608,7 +611,8 @@ RasterizeSVG(
608611 NSVGimage * nsvgImage ,
609612 int destX , int destY ,
610613 int width , int height ,
611- int srcX , int srcY ,
614+ int srcX ,
615+ int srcY ,
612616 RastOpts * ropts )
613617{
614618 int w , h , c ;
@@ -624,7 +628,7 @@ RasterizeSVG(
624628
625629 rast = nsvgCreateRasterizer ();
626630 if (rast == NULL ) {
627- Tcl_SetObjResult (interp , Tcl_NewStringObj ("cannot initialize rasterizer" , -1 ));
631+ Tcl_SetObjResult (interp , Tcl_NewStringObj ("cannot initialize rasterizer" , TCL_INDEX_NONE ));
628632 Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "RASTERIZER_ERROR" ,
629633 NULL );
630634 goto cleanAST ;
@@ -633,15 +637,15 @@ RasterizeSVG(
633637 /* Tk Ticket [822330269b] Check potential int overflow in following ckalloc */
634638 wh = (Tcl_WideUInt )w * (Tcl_WideUInt )h ;
635639 if ( w < 0 || h < 0 || wh > INT_MAX / 4 ) {
636- Tcl_SetObjResult (interp , Tcl_NewStringObj ("image size overflow" , -1 ));
637- Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "IMAGE_SIZE_OVERFLOW" , NULL );
640+ Tcl_SetObjResult (interp , Tcl_NewStringObj ("image size overflow" , TCL_INDEX_NONE ));
641+ Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "IMAGE_SIZE_OVERFLOW" , ( char * ) NULL );
638642 goto cleanRAST ;
639643 }
640644
641645 imgData = (unsigned char * )attemptckalloc (wh * 4 );
642646 if (imgData == NULL ) {
643- Tcl_SetObjResult (interp , Tcl_NewStringObj ("cannot alloc image buffer" , -1 ));
644- Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "OUT_OF_MEMORY" , NULL );
647+ Tcl_SetObjResult (interp , Tcl_NewStringObj ("cannot alloc image buffer" , TCL_INDEX_NONE ));
648+ Tcl_SetErrorCode (interp , "TK" , "IMAGE" , "SVG" , "OUT_OF_MEMORY" , ( char * ) NULL );
645649 goto cleanRAST ;
646650 }
647651 nsvgRasterize (rast , nsvgImage , 0 , 0 ,
@@ -709,8 +713,8 @@ GetScaleFromParameters(
709713 int width , height ;
710714
711715 if ((nsvgImage -> width == 0.0 ) || (nsvgImage -> height == 0.0 )) {
712- width = height = 0 ;
713- scale = 1.0 ;
716+ width = height = 0 ;
717+ scale = 1.0 ;
714718 } else if (ropts -> scaleToHeight > 0 ) {
715719 /*
716720 * Fixed height
@@ -748,7 +752,7 @@ GetScaleFromParameters(
748752 * svg image cache.
749753 *
750754 * Results:
751- * Return a pointer to the used cache.
755+ * Return a pointer to the used cache.
752756 *
753757 * Side effects:
754758 * Initialize the cache on the first call.
@@ -799,7 +803,7 @@ CacheSVG(
799803 NSVGcache * cachePtr = GetCachePtr (interp );
800804
801805 if (cachePtr != NULL ) {
802- cachePtr -> dataOrChan = dataOrChan ;
806+ cachePtr -> dataOrChan = dataOrChan ;
803807 if (formatObj != NULL ) {
804808 data = Tcl_GetStringFromObj (formatObj , & length );
805809 Tcl_DStringAppend (& cachePtr -> formatString , data , length );
@@ -841,10 +845,10 @@ GetCachedSVG(
841845
842846 if ((cachePtr != NULL ) && (cachePtr -> nsvgImage != NULL ) &&
843847 (cachePtr -> dataOrChan == dataOrChan )) {
844- if (formatObj != NULL ) {
848+ if (formatObj != NULL ) {
845849 data = Tcl_GetStringFromObj (formatObj , & length );
846850 if (strcmp (data , Tcl_DStringValue (& cachePtr -> formatString )) == 0 ) {
847- nsvgImage = cachePtr -> nsvgImage ;
851+ nsvgImage = cachePtr -> nsvgImage ;
848852 * ropts = cachePtr -> ropts ;
849853 cachePtr -> nsvgImage = NULL ;
850854 }
@@ -878,8 +882,8 @@ CleanCache(Tcl_Interp *interp)
878882 NSVGcache * cachePtr = GetCachePtr (interp );
879883
880884 if (cachePtr != NULL ) {
881- cachePtr -> dataOrChan = NULL ;
882- Tcl_DStringSetLength (& cachePtr -> formatString , 0 );
885+ cachePtr -> dataOrChan = NULL ;
886+ Tcl_DStringSetLength (& cachePtr -> formatString , 0 );
883887 if (cachePtr -> nsvgImage != NULL ) {
884888 nsvgDelete (cachePtr -> nsvgImage );
885889 cachePtr -> nsvgImage = NULL ;
@@ -910,7 +914,7 @@ FreeCache(ClientData clientData, Tcl_Interp *interp)
910914
911915 Tcl_DStringFree (& cachePtr -> formatString );
912916 if (cachePtr -> nsvgImage != NULL ) {
913- nsvgDelete (cachePtr -> nsvgImage );
917+ nsvgDelete (cachePtr -> nsvgImage );
914918 }
915919 ckfree (cachePtr );
916920}
0 commit comments