@@ -433,6 +433,20 @@ cupsArrayFirst(cups_array_t *a) // I - Array
433433}
434434
435435
436+ //
437+ // '_cupsArrayFree()' - Free a string in an array.
438+ //
439+
440+ void
441+ _cupsArrayFree (void * s , // I - String to free
442+ void * data ) // I - Callback data (unused)
443+ {
444+ (void )data ;
445+
446+ free (s );
447+ }
448+
449+
436450//
437451// 'cupsArrayGetCount()' - Get the number of elements in the array.
438452//
@@ -827,7 +841,7 @@ cupsArrayNewStrings(const char *s, // I - Delimited strings or `NULL`
827841 cups_array_t * a ; // Array
828842
829843
830- if ((a = cupsArrayNew3 (( cups_array_cb_t ) strcmp , NULL , NULL , 0 , ( cups_acopy_cb_t ) _cupsArrayStrdup , ( cups_afree_cb_t ) _cupsArrayFree )) != NULL )
844+ if ((a = cupsArrayNew3 (_cupsArrayStrcmp , NULL , NULL , 0 , _cupsArrayStrdup , _cupsArrayFree )) != NULL )
831845 cupsArrayAddStrings (a , s , delim );
832846
833847 return (a );
@@ -988,6 +1002,50 @@ cupsArraySave(cups_array_t *a) // I - Array
9881002}
9891003
9901004
1005+ //
1006+ // '_cupsArrayStrcasecmp()' - Compare two strings in an array, ignoring case...
1007+ //
1008+
1009+ int // O - Result of comparison
1010+ _cupsArrayStrcasecmp (void * s , // I - First string
1011+ void * t , // I - Second string
1012+ void * data ) // I - Callback data (unused)
1013+ {
1014+ (void )data ;
1015+
1016+ return (_cups_strcasecmp ((const char * )s , (const char * )t ));
1017+ }
1018+
1019+
1020+ //
1021+ // '_cupsArrayStrcmp()' - Compare two strings in an array.
1022+ //
1023+
1024+ int // O - Result of comparison
1025+ _cupsArrayStrcmp (void * s , // I - first string to compare
1026+ void * t , // I - second string to compare
1027+ void * data ) // I - Callback data (unused)
1028+ {
1029+ (void )data ;
1030+
1031+ return (strcmp ((const char * )s , (const char * )t ));
1032+ }
1033+
1034+
1035+ //
1036+ // '_cupsArrayStrdup()' - Copy a string in an array.
1037+ //
1038+
1039+ void * // O - Copy of string
1040+ _cupsArrayStrdup (void * s , // I - String to copy
1041+ void * data ) // I - Callback data (unused)
1042+ {
1043+ (void )data ;
1044+
1045+ return (strdup ((const char * )s ));
1046+ }
1047+
1048+
9911049//
9921050// 'cupsArrayUserData()' - Return the user data for an array.
9931051//
@@ -1253,43 +1311,3 @@ cups_array_find(cups_array_t *a, // I - Array
12531311
12541312 return (current );
12551313}
1256-
1257-
1258- /*
1259- * '_cupsArrayStrcmp()' - Meant to be passed as a pointer to CUPS arrays instead
1260- * of strcmp. Will also work if called directly.
1261- */
1262-
1263- int _cupsArrayStrcmp (const char * s1 , /* I - first string to compare */
1264- const char * s2 , /* I - second string to compare */
1265- void * data ) /* Unused */
1266- {
1267- (void )data ;
1268- return (strcmp (s1 , s2 ));
1269- }
1270-
1271-
1272- /*
1273- * '_cupsArrayStrdup()' - Meant to be passed as a pointer to CUPS arrays instead
1274- * of strdup. Will also work if called directly.
1275- */
1276-
1277- char * _cupsArrayStrdup (const char * element , /* I - element to duplicate */
1278- void * data ) /* Unused */
1279- {
1280- (void )data ;
1281- return (strdup (element ));
1282- }
1283-
1284-
1285- /*
1286- * '_cupsArrayFree()' - Meant to be passed as a pointer to CUPS arrays instead
1287- * of free. Will also work if called directly.
1288- */
1289-
1290- void _cupsArrayFree (void * element , /* I - element to free */
1291- void * data ) /* Unused */
1292- {
1293- (void )data ;
1294- free (element );
1295- }
0 commit comments