|
 |
a80764 |
diff --git a/cups/mark.c b/cups/mark.c
|
|
 |
a80764 |
index dc2257f..b3d7d0d 100644
|
|
 |
a80764 |
--- a/cups/mark.c
|
|
 |
a80764 |
+++ b/cups/mark.c
|
|
 |
a80764 |
@@ -890,9 +890,9 @@ ppd_mark_option(ppd_file_t *ppd, /* I - PPD file */
|
|
 |
a80764 |
case PPD_CUSTOM_PASSWORD :
|
|
 |
a80764 |
case PPD_CUSTOM_STRING :
|
|
 |
a80764 |
if (cparam->current.custom_string)
|
|
 |
a80764 |
- _cupsStrFree(cparam->current.custom_string);
|
|
 |
a80764 |
+ free(cparam->current.custom_string);
|
|
 |
a80764 |
|
|
 |
a80764 |
- cparam->current.custom_string = _cupsStrAlloc(choice + 7);
|
|
 |
a80764 |
+ cparam->current.custom_string = strdup(choice + 7);
|
|
 |
a80764 |
break;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -967,9 +967,9 @@ ppd_mark_option(ppd_file_t *ppd, /* I - PPD file */
|
|
 |
a80764 |
case PPD_CUSTOM_PASSWORD :
|
|
 |
a80764 |
case PPD_CUSTOM_STRING :
|
|
 |
a80764 |
if (cparam->current.custom_string)
|
|
 |
a80764 |
- _cupsStrFree(cparam->current.custom_string);
|
|
 |
a80764 |
+ free(cparam->current.custom_string);
|
|
 |
a80764 |
|
|
 |
a80764 |
- cparam->current.custom_string = _cupsStrRetain(val->value);
|
|
 |
a80764 |
+ cparam->current.custom_string = strdup(val->value);
|
|
 |
a80764 |
break;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c
|
|
 |
a80764 |
index ca1c773..072b9ff 100644
|
|
 |
a80764 |
--- a/cups/ppd-cache.c
|
|
 |
a80764 |
+++ b/cups/ppd-cache.c
|
|
 |
a80764 |
@@ -199,24 +199,20 @@ _ppdCacheCreateWithFile(
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "Filter"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
if (!pc->filters)
|
|
 |
a80764 |
- pc->filters = cupsArrayNew3(NULL, NULL, NULL, 0,
|
|
 |
a80764 |
- (cups_acopy_func_t)_cupsStrAlloc,
|
|
 |
a80764 |
- (cups_afree_func_t)_cupsStrFree);
|
|
 |
a80764 |
+ pc->filters = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free);
|
|
 |
a80764 |
|
|
 |
a80764 |
cupsArrayAdd(pc->filters, value);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "PreFilter"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
if (!pc->prefilters)
|
|
 |
a80764 |
- pc->prefilters = cupsArrayNew3(NULL, NULL, NULL, 0,
|
|
 |
a80764 |
- (cups_acopy_func_t)_cupsStrAlloc,
|
|
 |
a80764 |
- (cups_afree_func_t)_cupsStrFree);
|
|
 |
a80764 |
+ pc->prefilters = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free);
|
|
 |
a80764 |
|
|
 |
a80764 |
cupsArrayAdd(pc->prefilters, value);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "Product"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- pc->product = _cupsStrAlloc(value);
|
|
 |
a80764 |
+ pc->product = strdup(value);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "SingleFile"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
@@ -316,8 +312,8 @@ _ppdCacheCreateWithFile(
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
map = pc->bins + pc->num_bins;
|
|
 |
a80764 |
- map->pwg = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
- map->ppd = _cupsStrAlloc(ppd_keyword);
|
|
 |
a80764 |
+ map->pwg = strdup(pwg_keyword);
|
|
 |
a80764 |
+ map->ppd = strdup(ppd_keyword);
|
|
 |
a80764 |
|
|
 |
a80764 |
pc->num_bins ++;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -371,8 +367,8 @@ _ppdCacheCreateWithFile(
|
|
 |
a80764 |
goto create_error;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- size->map.pwg = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
- size->map.ppd = _cupsStrAlloc(ppd_keyword);
|
|
 |
a80764 |
+ size->map.pwg = strdup(pwg_keyword);
|
|
 |
a80764 |
+ size->map.ppd = strdup(ppd_keyword);
|
|
 |
a80764 |
|
|
 |
a80764 |
pc->num_sizes ++;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -400,15 +396,15 @@ _ppdCacheCreateWithFile(
|
|
 |
a80764 |
|
|
 |
a80764 |
_pwgGenerateSize(pwg_keyword, sizeof(pwg_keyword), "custom", "max",
|
|
 |
a80764 |
pc->custom_max_width, pc->custom_max_length);
|
|
 |
a80764 |
- pc->custom_max_keyword = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
+ pc->custom_max_keyword = strdup(pwg_keyword);
|
|
 |
a80764 |
|
|
 |
a80764 |
_pwgGenerateSize(pwg_keyword, sizeof(pwg_keyword), "custom", "min",
|
|
 |
a80764 |
pc->custom_min_width, pc->custom_min_length);
|
|
 |
a80764 |
- pc->custom_min_keyword = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
+ pc->custom_min_keyword = strdup(pwg_keyword);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "SourceOption"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- pc->source_option = _cupsStrAlloc(value);
|
|
 |
a80764 |
+ pc->source_option = strdup(value);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "NumSources"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
@@ -455,8 +451,8 @@ _ppdCacheCreateWithFile(
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
map = pc->sources + pc->num_sources;
|
|
 |
a80764 |
- map->pwg = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
- map->ppd = _cupsStrAlloc(ppd_keyword);
|
|
 |
a80764 |
+ map->pwg = strdup(pwg_keyword);
|
|
 |
a80764 |
+ map->ppd = strdup(ppd_keyword);
|
|
 |
a80764 |
|
|
 |
a80764 |
pc->num_sources ++;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -504,8 +500,8 @@ _ppdCacheCreateWithFile(
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
map = pc->types + pc->num_types;
|
|
 |
a80764 |
- map->pwg = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
- map->ppd = _cupsStrAlloc(ppd_keyword);
|
|
 |
a80764 |
+ map->pwg = strdup(pwg_keyword);
|
|
 |
a80764 |
+ map->ppd = strdup(ppd_keyword);
|
|
 |
a80764 |
|
|
 |
a80764 |
pc->num_types ++;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -535,13 +531,13 @@ _ppdCacheCreateWithFile(
|
|
 |
a80764 |
pc->presets[print_color_mode] + print_quality);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "SidesOption"))
|
|
 |
a80764 |
- pc->sides_option = _cupsStrAlloc(value);
|
|
 |
a80764 |
+ pc->sides_option = strdup(value);
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "Sides1Sided"))
|
|
 |
a80764 |
- pc->sides_1sided = _cupsStrAlloc(value);
|
|
 |
a80764 |
+ pc->sides_1sided = strdup(value);
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "Sides2SidedLong"))
|
|
 |
a80764 |
- pc->sides_2sided_long = _cupsStrAlloc(value);
|
|
 |
a80764 |
+ pc->sides_2sided_long = strdup(value);
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "Sides2SidedShort"))
|
|
 |
a80764 |
- pc->sides_2sided_short = _cupsStrAlloc(value);
|
|
 |
a80764 |
+ pc->sides_2sided_short = strdup(value);
|
|
 |
a80764 |
else if (!_cups_strcasecmp(line, "Finishings"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
if (!pc->finishings)
|
|
 |
a80764 |
@@ -796,8 +792,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
new_size = old_size;
|
|
 |
a80764 |
- _cupsStrFree(old_size->map.ppd);
|
|
 |
a80764 |
- _cupsStrFree(old_size->map.pwg);
|
|
 |
a80764 |
+ free(old_size->map.ppd);
|
|
 |
a80764 |
+ free(old_size->map.pwg);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -818,8 +814,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
* Save this size...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
- new_size->map.ppd = _cupsStrAlloc(ppd_size->name);
|
|
 |
a80764 |
- new_size->map.pwg = _cupsStrAlloc(pwg_name);
|
|
 |
a80764 |
+ new_size->map.ppd = strdup(ppd_size->name);
|
|
 |
a80764 |
+ new_size->map.pwg = strdup(pwg_name);
|
|
 |
a80764 |
new_size->width = new_width;
|
|
 |
a80764 |
new_size->length = new_length;
|
|
 |
a80764 |
new_size->left = new_left;
|
|
 |
a80764 |
@@ -839,14 +835,14 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
_pwgGenerateSize(pwg_keyword, sizeof(pwg_keyword), "custom", "max",
|
|
 |
a80764 |
_PWG_FROMPTS(ppd->custom_max[0]),
|
|
 |
a80764 |
_PWG_FROMPTS(ppd->custom_max[1]));
|
|
 |
a80764 |
- pc->custom_max_keyword = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
+ pc->custom_max_keyword = strdup(pwg_keyword);
|
|
 |
a80764 |
pc->custom_max_width = _PWG_FROMPTS(ppd->custom_max[0]);
|
|
 |
a80764 |
pc->custom_max_length = _PWG_FROMPTS(ppd->custom_max[1]);
|
|
 |
a80764 |
|
|
 |
a80764 |
_pwgGenerateSize(pwg_keyword, sizeof(pwg_keyword), "custom", "min",
|
|
 |
a80764 |
_PWG_FROMPTS(ppd->custom_min[0]),
|
|
 |
a80764 |
_PWG_FROMPTS(ppd->custom_min[1]));
|
|
 |
a80764 |
- pc->custom_min_keyword = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
+ pc->custom_min_keyword = strdup(pwg_keyword);
|
|
 |
a80764 |
pc->custom_min_width = _PWG_FROMPTS(ppd->custom_min[0]);
|
|
 |
a80764 |
pc->custom_min_length = _PWG_FROMPTS(ppd->custom_min[1]);
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -865,7 +861,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
|
|
 |
a80764 |
if (input_slot)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- pc->source_option = _cupsStrAlloc(input_slot->keyword);
|
|
 |
a80764 |
+ pc->source_option = strdup(input_slot->keyword);
|
|
 |
a80764 |
|
|
 |
a80764 |
if ((pc->sources = calloc(input_slot->num_choices,
|
|
 |
a80764 |
sizeof(_pwg_map_t))) == NULL)
|
|
 |
a80764 |
@@ -918,8 +914,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
"_");
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- map->pwg = _cupsStrAlloc(pwg_name);
|
|
 |
a80764 |
- map->ppd = _cupsStrAlloc(choice->choice);
|
|
 |
a80764 |
+ map->pwg = strdup(pwg_name);
|
|
 |
a80764 |
+ map->ppd = strdup(choice->choice);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -983,8 +979,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
"_");
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- map->pwg = _cupsStrAlloc(pwg_name);
|
|
 |
a80764 |
- map->ppd = _cupsStrAlloc(choice->choice);
|
|
 |
a80764 |
+ map->pwg = strdup(pwg_name);
|
|
 |
a80764 |
+ map->ppd = strdup(choice->choice);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -1011,8 +1007,8 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
pwg_unppdize_name(choice->choice, pwg_keyword, sizeof(pwg_keyword), "_");
|
|
 |
a80764 |
|
|
 |
a80764 |
- map->pwg = _cupsStrAlloc(pwg_keyword);
|
|
 |
a80764 |
- map->ppd = _cupsStrAlloc(choice->choice);
|
|
 |
a80764 |
+ map->pwg = strdup(pwg_keyword);
|
|
 |
a80764 |
+ map->ppd = strdup(choice->choice);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -1227,7 +1223,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
|
|
 |
a80764 |
if (duplex)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- pc->sides_option = _cupsStrAlloc(duplex->keyword);
|
|
 |
a80764 |
+ pc->sides_option = strdup(duplex->keyword);
|
|
 |
a80764 |
|
|
 |
a80764 |
for (i = duplex->num_choices, choice = duplex->choices;
|
|
 |
a80764 |
i > 0;
|
|
 |
a80764 |
@@ -1235,16 +1231,16 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
if ((!_cups_strcasecmp(choice->choice, "None") ||
|
|
 |
a80764 |
!_cups_strcasecmp(choice->choice, "False")) && !pc->sides_1sided)
|
|
 |
a80764 |
- pc->sides_1sided = _cupsStrAlloc(choice->choice);
|
|
 |
a80764 |
+ pc->sides_1sided = strdup(choice->choice);
|
|
 |
a80764 |
else if ((!_cups_strcasecmp(choice->choice, "DuplexNoTumble") ||
|
|
 |
a80764 |
!_cups_strcasecmp(choice->choice, "LongEdge") ||
|
|
 |
a80764 |
!_cups_strcasecmp(choice->choice, "Top")) && !pc->sides_2sided_long)
|
|
 |
a80764 |
- pc->sides_2sided_long = _cupsStrAlloc(choice->choice);
|
|
 |
a80764 |
+ pc->sides_2sided_long = strdup(choice->choice);
|
|
 |
a80764 |
else if ((!_cups_strcasecmp(choice->choice, "DuplexTumble") ||
|
|
 |
a80764 |
!_cups_strcasecmp(choice->choice, "ShortEdge") ||
|
|
 |
a80764 |
!_cups_strcasecmp(choice->choice, "Bottom")) &&
|
|
 |
a80764 |
!pc->sides_2sided_short)
|
|
 |
a80764 |
- pc->sides_2sided_short = _cupsStrAlloc(choice->choice);
|
|
 |
a80764 |
+ pc->sides_2sided_short = strdup(choice->choice);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -1252,9 +1248,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
* Copy filters and pre-filters...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
- pc->filters = cupsArrayNew3(NULL, NULL, NULL, 0,
|
|
 |
a80764 |
- (cups_acopy_func_t)_cupsStrAlloc,
|
|
 |
a80764 |
- (cups_afree_func_t)_cupsStrFree);
|
|
 |
a80764 |
+ pc->filters = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free);
|
|
 |
a80764 |
|
|
 |
a80764 |
cupsArrayAdd(pc->filters,
|
|
 |
a80764 |
"application/vnd.cups-raw application/octet-stream 0 -");
|
|
 |
a80764 |
@@ -1311,9 +1305,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
|
|
 |
a80764 |
if ((ppd_attr = ppdFindAttr(ppd, "cupsPreFilter", NULL)) != NULL)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- pc->prefilters = cupsArrayNew3(NULL, NULL, NULL, 0,
|
|
 |
a80764 |
- (cups_acopy_func_t)_cupsStrAlloc,
|
|
 |
a80764 |
- (cups_afree_func_t)_cupsStrFree);
|
|
 |
a80764 |
+ pc->prefilters = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free);
|
|
 |
a80764 |
|
|
 |
a80764 |
do
|
|
 |
a80764 |
{
|
|
 |
a80764 |
@@ -1330,7 +1322,7 @@ _ppdCacheCreateWithPPD(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
if (ppd->product)
|
|
 |
a80764 |
- pc->product = _cupsStrAlloc(ppd->product);
|
|
 |
a80764 |
+ pc->product = strdup(ppd->product);
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
* Copy finishings mapping data...
|
|
 |
a80764 |
@@ -1415,8 +1407,8 @@ _ppdCacheDestroy(_ppd_cache_t *pc) /* I - PPD cache and mapping data */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = pc->num_bins, map = pc->bins; i > 0; i --, map ++)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- _cupsStrFree(map->pwg);
|
|
 |
a80764 |
- _cupsStrFree(map->ppd);
|
|
 |
a80764 |
+ free(map->pwg);
|
|
 |
a80764 |
+ free(map->ppd);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
free(pc->bins);
|
|
 |
a80764 |
@@ -1426,22 +1418,21 @@ _ppdCacheDestroy(_ppd_cache_t *pc) /* I - PPD cache and mapping data */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = pc->num_sizes, size = pc->sizes; i > 0; i --, size ++)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- _cupsStrFree(size->map.pwg);
|
|
 |
a80764 |
- _cupsStrFree(size->map.ppd);
|
|
 |
a80764 |
+ free(size->map.pwg);
|
|
 |
a80764 |
+ free(size->map.ppd);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
free(pc->sizes);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- if (pc->source_option)
|
|
 |
a80764 |
- _cupsStrFree(pc->source_option);
|
|
 |
a80764 |
+ free(pc->source_option);
|
|
 |
a80764 |
|
|
 |
a80764 |
if (pc->sources)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = pc->num_sources, map = pc->sources; i > 0; i --, map ++)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- _cupsStrFree(map->pwg);
|
|
 |
a80764 |
- _cupsStrFree(map->ppd);
|
|
 |
a80764 |
+ free(map->pwg);
|
|
 |
a80764 |
+ free(map->ppd);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
free(pc->sources);
|
|
 |
a80764 |
@@ -1451,20 +1442,17 @@ _ppdCacheDestroy(_ppd_cache_t *pc) /* I - PPD cache and mapping data */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = pc->num_types, map = pc->types; i > 0; i --, map ++)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- _cupsStrFree(map->pwg);
|
|
 |
a80764 |
- _cupsStrFree(map->ppd);
|
|
 |
a80764 |
+ free(map->pwg);
|
|
 |
a80764 |
+ free(map->ppd);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
free(pc->types);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- if (pc->custom_max_keyword)
|
|
 |
a80764 |
- _cupsStrFree(pc->custom_max_keyword);
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- if (pc->custom_min_keyword)
|
|
 |
a80764 |
- _cupsStrFree(pc->custom_min_keyword);
|
|
 |
a80764 |
+ free(pc->custom_max_keyword);
|
|
 |
a80764 |
+ free(pc->custom_min_keyword);
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(pc->product);
|
|
 |
a80764 |
+ free(pc->product);
|
|
 |
a80764 |
cupsArrayDelete(pc->filters);
|
|
 |
a80764 |
cupsArrayDelete(pc->prefilters);
|
|
 |
a80764 |
cupsArrayDelete(pc->finishings);
|
|
 |
a80764 |
diff --git a/cups/ppd.c b/cups/ppd.c
|
|
 |
a80764 |
index dd18cc2..c0e55a3 100644
|
|
 |
a80764 |
--- a/cups/ppd.c
|
|
 |
a80764 |
+++ b/cups/ppd.c
|
|
 |
a80764 |
@@ -78,8 +78,6 @@
|
|
 |
a80764 |
# define WRITE_BINARY "w" /* Open a binary file for writing */
|
|
 |
a80764 |
#endif /* WIN32 || __EMX__ */
|
|
 |
a80764 |
|
|
 |
a80764 |
-#define ppd_free(p) if (p) free(p) /* Safe free macro */
|
|
 |
a80764 |
-
|
|
 |
a80764 |
#define PPD_KEYWORD 1 /* Line contained a keyword */
|
|
 |
a80764 |
#define PPD_OPTION 2 /* Line contained an option name */
|
|
 |
a80764 |
#define PPD_TEXT 4 /* Line contained human-readable text */
|
|
 |
a80764 |
@@ -142,7 +140,6 @@ void
|
|
 |
a80764 |
ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
int i; /* Looping var */
|
|
 |
a80764 |
- ppd_emul_t *emul; /* Current emulation */
|
|
 |
a80764 |
ppd_group_t *group; /* Current group */
|
|
 |
a80764 |
char **font; /* Current font */
|
|
 |
a80764 |
ppd_attr_t **attr; /* Current attribute */
|
|
 |
a80764 |
@@ -161,28 +158,12 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
* Free all strings at the top level...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(ppd->lang_encoding);
|
|
 |
a80764 |
- _cupsStrFree(ppd->nickname);
|
|
 |
a80764 |
- if (ppd->patches)
|
|
 |
a80764 |
- free(ppd->patches);
|
|
 |
a80764 |
- _cupsStrFree(ppd->jcl_begin);
|
|
 |
a80764 |
- _cupsStrFree(ppd->jcl_end);
|
|
 |
a80764 |
- _cupsStrFree(ppd->jcl_ps);
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- /*
|
|
 |
a80764 |
- * Free any emulations...
|
|
 |
a80764 |
- */
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- if (ppd->num_emulations > 0)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- for (i = ppd->num_emulations, emul = ppd->emulations; i > 0; i --, emul ++)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- _cupsStrFree(emul->start);
|
|
 |
a80764 |
- _cupsStrFree(emul->stop);
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- ppd_free(ppd->emulations);
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
+ free(ppd->lang_encoding);
|
|
 |
a80764 |
+ free(ppd->nickname);
|
|
 |
a80764 |
+ free(ppd->patches);
|
|
 |
a80764 |
+ free(ppd->jcl_begin);
|
|
 |
a80764 |
+ free(ppd->jcl_end);
|
|
 |
a80764 |
+ free(ppd->jcl_ps);
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
* Free any UI groups, subgroups, and options...
|
|
 |
a80764 |
@@ -193,7 +174,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
for (i = ppd->num_groups, group = ppd->groups; i > 0; i --, group ++)
|
|
 |
a80764 |
ppd_free_group(group);
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(ppd->groups);
|
|
 |
a80764 |
+ free(ppd->groups);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
cupsArrayDelete(ppd->options);
|
|
 |
a80764 |
@@ -204,14 +185,14 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
if (ppd->num_sizes > 0)
|
|
 |
a80764 |
- ppd_free(ppd->sizes);
|
|
 |
a80764 |
+ free(ppd->sizes);
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
* Free any constraints...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
if (ppd->num_consts > 0)
|
|
 |
a80764 |
- ppd_free(ppd->consts);
|
|
 |
a80764 |
+ free(ppd->consts);
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
* Free any filters...
|
|
 |
a80764 |
@@ -226,9 +207,9 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
if (ppd->num_fonts > 0)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = ppd->num_fonts, font = ppd->fonts; i > 0; i --, font ++)
|
|
 |
a80764 |
- _cupsStrFree(*font);
|
|
 |
a80764 |
+ free(*font);
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(ppd->fonts);
|
|
 |
a80764 |
+ free(ppd->fonts);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
@@ -236,7 +217,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
if (ppd->num_profiles > 0)
|
|
 |
a80764 |
- ppd_free(ppd->profiles);
|
|
 |
a80764 |
+ free(ppd->profiles);
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
* Free any attributes...
|
|
 |
a80764 |
@@ -246,11 +227,11 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = ppd->num_attrs, attr = ppd->attrs; i > 0; i --, attr ++)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- _cupsStrFree((*attr)->value);
|
|
 |
a80764 |
- ppd_free(*attr);
|
|
 |
a80764 |
+ free((*attr)->value);
|
|
 |
a80764 |
+ free(*attr);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(ppd->attrs);
|
|
 |
a80764 |
+ free(ppd->attrs);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
cupsArrayDelete(ppd->sorted_attrs);
|
|
 |
a80764 |
@@ -272,7 +253,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
case PPD_CUSTOM_PASSCODE :
|
|
 |
a80764 |
case PPD_CUSTOM_PASSWORD :
|
|
 |
a80764 |
case PPD_CUSTOM_STRING :
|
|
 |
a80764 |
- _cupsStrFree(cparam->current.custom_string);
|
|
 |
a80764 |
+ free(cparam->current.custom_string);
|
|
 |
a80764 |
break;
|
|
 |
a80764 |
|
|
 |
a80764 |
default :
|
|
 |
a80764 |
@@ -320,7 +301,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
|
|
 |
a80764 |
* Free the whole record...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(ppd);
|
|
 |
a80764 |
+ free(ppd);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -426,7 +407,6 @@ _ppdOpen(
|
|
 |
a80764 |
_ppd_localization_t localization) /* I - Localization to load */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
int i, j, k; /* Looping vars */
|
|
 |
a80764 |
- int count; /* Temporary count */
|
|
 |
a80764 |
_ppd_line_t line; /* Line buffer */
|
|
 |
a80764 |
ppd_file_t *ppd; /* PPD file record */
|
|
 |
a80764 |
ppd_group_t *group, /* Current group */
|
|
 |
a80764 |
@@ -444,7 +424,6 @@ _ppdOpen(
|
|
 |
a80764 |
/* Human-readable text from file */
|
|
 |
a80764 |
*string, /* Code/text from file */
|
|
 |
a80764 |
*sptr, /* Pointer into string */
|
|
 |
a80764 |
- *nameptr, /* Pointer into name */
|
|
 |
a80764 |
*temp, /* Temporary string pointer */
|
|
 |
a80764 |
**tempfonts; /* Temporary fonts pointer */
|
|
 |
a80764 |
float order; /* Order dependency number */
|
|
 |
a80764 |
@@ -592,16 +571,14 @@ _ppdOpen(
|
|
 |
a80764 |
if (cg->ppd_status == PPD_OK)
|
|
 |
a80764 |
cg->ppd_status = PPD_MISSING_PPDADOBE4;
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
- ppd_free(line.buffer);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
+ free(line.buffer);
|
|
 |
a80764 |
|
|
 |
a80764 |
return (NULL);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
DEBUG_printf(("2_ppdOpen: keyword=%s, string=%p", keyword, string));
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
-
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
* Allocate memory for the PPD file record...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
@@ -610,8 +587,8 @@ _ppdOpen(
|
|
 |
a80764 |
{
|
|
 |
a80764 |
cg->ppd_status = PPD_ALLOC_ERROR;
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
- ppd_free(line.buffer);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
+ free(line.buffer);
|
|
 |
a80764 |
|
|
 |
a80764 |
return (NULL);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -694,6 +671,8 @@ _ppdOpen(
|
|
 |
a80764 |
strncmp(ll, keyword, ll_len)))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
DEBUG_printf(("2_ppdOpen: Ignoring localization: \"%s\"\n", keyword));
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
+ string = NULL;
|
|
 |
a80764 |
continue;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (localization == _PPD_LOCALIZATION_ICC_PROFILES)
|
|
 |
a80764 |
@@ -713,6 +692,8 @@ _ppdOpen(
|
|
 |
a80764 |
if (i >= (int)(sizeof(color_keywords) / sizeof(color_keywords[0])))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
DEBUG_printf(("2_ppdOpen: Ignoring localization: \"%s\"\n", keyword));
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
+ string = NULL;
|
|
 |
a80764 |
continue;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -808,7 +789,7 @@ _ppdOpen(
|
|
 |
a80764 |
* Say all PPD files are UTF-8, since we convert to UTF-8...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd->lang_encoding = _cupsStrAlloc("UTF-8");
|
|
 |
a80764 |
+ ppd->lang_encoding = strdup("UTF-8");
|
|
 |
a80764 |
encoding = _ppdGetEncoding(string);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "LanguageVersion"))
|
|
 |
a80764 |
@@ -829,10 +810,10 @@ _ppdOpen(
|
|
 |
a80764 |
|
|
 |
a80764 |
|
|
 |
a80764 |
cupsCharsetToUTF8(utf8, string, sizeof(utf8), encoding);
|
|
 |
a80764 |
- ppd->nickname = _cupsStrAlloc((char *)utf8);
|
|
 |
a80764 |
+ ppd->nickname = strdup((char *)utf8);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else
|
|
 |
a80764 |
- ppd->nickname = _cupsStrAlloc(string);
|
|
 |
a80764 |
+ ppd->nickname = strdup(string);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "Product"))
|
|
 |
a80764 |
ppd->product = string;
|
|
 |
a80764 |
@@ -842,17 +823,17 @@ _ppdOpen(
|
|
 |
a80764 |
ppd->ttrasterizer = string;
|
|
 |
a80764 |
else if (!strcmp(keyword, "JCLBegin"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- ppd->jcl_begin = _cupsStrAlloc(string);
|
|
 |
a80764 |
+ ppd->jcl_begin = strdup(string);
|
|
 |
a80764 |
ppd_decode(ppd->jcl_begin); /* Decode quoted string */
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "JCLEnd"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- ppd->jcl_end = _cupsStrAlloc(string);
|
|
 |
a80764 |
+ ppd->jcl_end = strdup(string);
|
|
 |
a80764 |
ppd_decode(ppd->jcl_end); /* Decode quoted string */
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "JCLToPSInterpreter"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- ppd->jcl_ps = _cupsStrAlloc(string);
|
|
 |
a80764 |
+ ppd->jcl_ps = strdup(string);
|
|
 |
a80764 |
ppd_decode(ppd->jcl_ps); /* Decode quoted string */
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "AccurateScreensSupport"))
|
|
 |
a80764 |
@@ -921,10 +902,10 @@ _ppdOpen(
|
|
 |
a80764 |
ppd->num_filters ++;
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
- * Retain a copy of the filter string...
|
|
 |
a80764 |
+ * Make a copy of the filter string...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
- *filter = _cupsStrRetain(string);
|
|
 |
a80764 |
+ *filter = strdup(string);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "Throughput"))
|
|
 |
a80764 |
ppd->throughput = atoi(string);
|
|
 |
a80764 |
@@ -948,7 +929,7 @@ _ppdOpen(
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
ppd->fonts = tempfonts;
|
|
 |
a80764 |
- ppd->fonts[ppd->num_fonts] = _cupsStrAlloc(name);
|
|
 |
a80764 |
+ ppd->fonts[ppd->num_fonts] = strdup(name);
|
|
 |
a80764 |
ppd->num_fonts ++;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strncmp(keyword, "ParamCustom", 11))
|
|
 |
a80764 |
@@ -1113,7 +1094,7 @@ _ppdOpen(
|
|
 |
a80764 |
strlcpy(choice->text, text[0] ? text : _("Custom"),
|
|
 |
a80764 |
sizeof(choice->text));
|
|
 |
a80764 |
|
|
 |
a80764 |
- choice->code = _cupsStrAlloc(string);
|
|
 |
a80764 |
+ choice->code = strdup(string);
|
|
 |
a80764 |
|
|
 |
a80764 |
if (custom_option->section == PPD_ORDER_JCL)
|
|
 |
a80764 |
ppd_decode(choice->code);
|
|
 |
a80764 |
@@ -1162,59 +1143,23 @@ _ppdOpen(
|
|
 |
a80764 |
else if (!strcmp(string, "Plus90"))
|
|
 |
a80764 |
ppd->landscape = 90;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
- else if (!strcmp(keyword, "Emulators") && string)
|
|
 |
a80764 |
+ else if (!strcmp(keyword, "Emulators") && string && ppd->num_emulations == 0)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- for (count = 1, sptr = string; sptr != NULL;)
|
|
 |
a80764 |
- if ((sptr = strchr(sptr, ' ')) != NULL)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- count ++;
|
|
 |
a80764 |
- while (*sptr == ' ')
|
|
 |
a80764 |
- sptr ++;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- ppd->num_emulations = count;
|
|
 |
a80764 |
- if ((ppd->emulations = calloc(count, sizeof(ppd_emul_t))) == NULL)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- cg->ppd_status = PPD_ALLOC_ERROR;
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- goto error;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- for (i = 0, sptr = string; i < count; i ++)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- for (nameptr = ppd->emulations[i].name;
|
|
 |
a80764 |
- *sptr != '\0' && *sptr != ' ';
|
|
 |
a80764 |
- sptr ++)
|
|
 |
a80764 |
- if (nameptr < (ppd->emulations[i].name + sizeof(ppd->emulations[i].name) - 1))
|
|
 |
a80764 |
- *nameptr++ = *sptr;
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- *nameptr = '\0';
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- while (*sptr == ' ')
|
|
 |
a80764 |
- sptr ++;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- else if (!strncmp(keyword, "StartEmulator_", 14))
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- ppd_decode(string);
|
|
 |
a80764 |
+ /*
|
|
 |
a80764 |
+ * Issue #5562: Samsung printer drivers incorrectly use Emulators keyword
|
|
 |
a80764 |
+ * to configure themselves
|
|
 |
a80764 |
+ *
|
|
 |
a80764 |
+ * The Emulators keyword was loaded but never used by anything in CUPS,
|
|
 |
a80764 |
+ * and has no valid purpose in CUPS. The old code was removed due to a
|
|
 |
a80764 |
+ * memory leak (Issue #5475), so the following (new) code supports a single
|
|
 |
a80764 |
+ * name for the Emulators keyword, allowing these drivers to work until we
|
|
 |
a80764 |
+ * remove PPD and driver support entirely in a future version of CUPS.
|
|
 |
a80764 |
+ */
|
|
 |
a80764 |
|
|
 |
a80764 |
- for (i = 0; i < ppd->num_emulations; i ++)
|
|
 |
a80764 |
- if (!strcmp(keyword + 14, ppd->emulations[i].name))
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- ppd->emulations[i].start = string;
|
|
 |
a80764 |
- string = NULL;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- else if (!strncmp(keyword, "StopEmulator_", 13))
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- ppd_decode(string);
|
|
 |
a80764 |
+ ppd->num_emulations = 1;
|
|
 |
a80764 |
+ ppd->emulations = calloc(1, sizeof(ppd_emul_t));
|
|
 |
a80764 |
|
|
 |
a80764 |
- for (i = 0; i < ppd->num_emulations; i ++)
|
|
 |
a80764 |
- if (!strcmp(keyword + 13, ppd->emulations[i].name))
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- ppd->emulations[i].stop = string;
|
|
 |
a80764 |
- string = NULL;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
+ strlcpy(ppd->emulations[0].name, string, sizeof(ppd->emulations[0].name));
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "JobPatchFile"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
@@ -1369,7 +1314,7 @@ _ppdOpen(
|
|
 |
a80764 |
|
|
 |
a80764 |
option->section = PPD_ORDER_ANY;
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
@@ -1397,7 +1342,7 @@ _ppdOpen(
|
|
 |
a80764 |
strlcpy(choice->text,
|
|
 |
a80764 |
custom_attr->text[0] ? custom_attr->text : _("Custom"),
|
|
 |
a80764 |
sizeof(choice->text));
|
|
 |
a80764 |
- choice->code = _cupsStrRetain(custom_attr->value);
|
|
 |
a80764 |
+ choice->code = strdup(custom_attr->value);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "JCLOpenUI"))
|
|
 |
a80764 |
@@ -1476,7 +1421,7 @@ _ppdOpen(
|
|
 |
a80764 |
option->section = PPD_ORDER_JCL;
|
|
 |
a80764 |
group = NULL;
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
@@ -1500,14 +1445,14 @@ _ppdOpen(
|
|
 |
a80764 |
strlcpy(choice->text,
|
|
 |
a80764 |
custom_attr->text[0] ? custom_attr->text : _("Custom"),
|
|
 |
a80764 |
sizeof(choice->text));
|
|
 |
a80764 |
- choice->code = _cupsStrRetain(custom_attr->value);
|
|
 |
a80764 |
+ choice->code = strdup(custom_attr->value);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "CloseUI") || !strcmp(keyword, "JCLCloseUI"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
option = NULL;
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "OpenGroup"))
|
|
 |
a80764 |
@@ -1554,14 +1499,14 @@ _ppdOpen(
|
|
 |
a80764 |
if (group == NULL)
|
|
 |
a80764 |
goto error;
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "CloseGroup"))
|
|
 |
a80764 |
{
|
|
 |
a80764 |
group = NULL;
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "OrderDependency"))
|
|
 |
a80764 |
@@ -1619,7 +1564,7 @@ _ppdOpen(
|
|
 |
a80764 |
option->order = order;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strncmp(keyword, "Default", 7))
|
|
 |
a80764 |
@@ -1863,7 +1808,7 @@ _ppdOpen(
|
|
 |
a80764 |
* Don't add this one as an attribute...
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "PaperDimension"))
|
|
 |
a80764 |
@@ -1885,7 +1830,7 @@ _ppdOpen(
|
|
 |
a80764 |
size->width = (float)_cupsStrScand(string, &sptr, loc);
|
|
 |
a80764 |
size->length = (float)_cupsStrScand(sptr, NULL, loc);
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (!strcmp(keyword, "ImageableArea"))
|
|
 |
a80764 |
@@ -1909,7 +1854,7 @@ _ppdOpen(
|
|
 |
a80764 |
size->right = (float)_cupsStrScand(sptr, &sptr, loc);
|
|
 |
a80764 |
size->top = (float)_cupsStrScand(sptr, NULL, loc);
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
string = NULL;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
else if (option != NULL &&
|
|
 |
a80764 |
@@ -1965,7 +1910,7 @@ _ppdOpen(
|
|
 |
a80764 |
(mask & (PPD_KEYWORD | PPD_STRING)) == (PPD_KEYWORD | PPD_STRING))
|
|
 |
a80764 |
ppd_add_attr(ppd, keyword, name, text, string);
|
|
 |
a80764 |
else
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
@@ -1978,7 +1923,8 @@ _ppdOpen(
|
|
 |
a80764 |
goto error;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(line.buffer);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
+ free(line.buffer);
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
* Reset language preferences...
|
|
 |
a80764 |
@@ -2060,8 +2006,8 @@ _ppdOpen(
|
|
 |
a80764 |
|
|
 |
a80764 |
error:
|
|
 |
a80764 |
|
|
 |
a80764 |
- _cupsStrFree(string);
|
|
 |
a80764 |
- ppd_free(line.buffer);
|
|
 |
a80764 |
+ free(string);
|
|
 |
a80764 |
+ free(line.buffer);
|
|
 |
a80764 |
|
|
 |
a80764 |
ppdClose(ppd);
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -2500,9 +2446,9 @@ ppd_free_filters(ppd_file_t *ppd) /* I - PPD file */
|
|
 |
a80764 |
if (ppd->num_filters > 0)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = ppd->num_filters, filter = ppd->filters; i > 0; i --, filter ++)
|
|
 |
a80764 |
- _cupsStrFree(*filter);
|
|
 |
a80764 |
+ free(*filter);
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(ppd->filters);
|
|
 |
a80764 |
+ free(ppd->filters);
|
|
 |
a80764 |
|
|
 |
a80764 |
ppd->num_filters = 0;
|
|
 |
a80764 |
ppd->filters = NULL;
|
|
 |
a80764 |
@@ -2529,7 +2475,7 @@ ppd_free_group(ppd_group_t *group) /* I - Group to free */
|
|
 |
a80764 |
i --, option ++)
|
|
 |
a80764 |
ppd_free_option(option);
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(group->options);
|
|
 |
a80764 |
+ free(group->options);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
if (group->num_subgroups > 0)
|
|
 |
a80764 |
@@ -2539,7 +2485,7 @@ ppd_free_group(ppd_group_t *group) /* I - Group to free */
|
|
 |
a80764 |
i --, subgroup ++)
|
|
 |
a80764 |
ppd_free_group(subgroup);
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(group->subgroups);
|
|
 |
a80764 |
+ free(group->subgroups);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -2561,10 +2507,10 @@ ppd_free_option(ppd_option_t *option) /* I - Option to free */
|
|
 |
a80764 |
i > 0;
|
|
 |
a80764 |
i --, choice ++)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- _cupsStrFree(choice->code);
|
|
 |
a80764 |
+ free(choice->code);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppd_free(option->choices);
|
|
 |
a80764 |
+ free(option->choices);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -3262,7 +3208,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */
|
|
 |
a80764 |
lineptr ++;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
- *string = _cupsStrAlloc(lineptr);
|
|
 |
a80764 |
+ *string = strdup(lineptr);
|
|
 |
a80764 |
|
|
 |
a80764 |
mask |= PPD_STRING;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -3384,7 +3330,7 @@ ppd_update_filters(ppd_file_t *ppd,/* I - PPD file */
|
|
 |
a80764 |
filter += ppd->num_filters;
|
|
 |
a80764 |
ppd->num_filters ++;
|
|
 |
a80764 |
|
|
 |
a80764 |
- *filter = _cupsStrAlloc(buffer);
|
|
 |
a80764 |
+ *filter = strdup(buffer);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
while ((attr = ppdFindNextAttr(ppd, "cupsFilter2", NULL)) != NULL);
|
|
 |
a80764 |
|
|
 |
a80764 |
diff --git a/cups/ppd.h b/cups/ppd.h
|
|
 |
a80764 |
index 3e281bd..340b7ca 100644
|
|
 |
a80764 |
--- a/cups/ppd.h
|
|
 |
a80764 |
+++ b/cups/ppd.h
|
|
 |
a80764 |
@@ -315,8 +315,8 @@ typedef struct ppd_file_s /**** PPD File ****/
|
|
 |
a80764 |
int throughput; /* Pages per minute */
|
|
 |
a80764 |
ppd_cs_t colorspace; /* Default colorspace */
|
|
 |
a80764 |
char *patches; /* Patch commands to be sent to printer */
|
|
 |
a80764 |
- int num_emulations; /* Number of emulations supported */
|
|
 |
a80764 |
- ppd_emul_t *emulations; /* Emulations and the code to invoke them */
|
|
 |
a80764 |
+ int num_emulations; /* Number of emulations supported (no longer supported) @private@ */
|
|
 |
a80764 |
+ ppd_emul_t *emulations; /* Emulations and the code to invoke them (no longer supported) @private@ */
|
|
 |
a80764 |
char *jcl_begin; /* Start JCL commands */
|
|
 |
a80764 |
char *jcl_ps; /* Enter PostScript interpreter */
|
|
 |
a80764 |
char *jcl_end; /* End JCL commands */
|
|
 |
a80764 |
diff --git a/cups/string.c b/cups/string.c
|
|
 |
a80764 |
index 538a263..bb148dd 100644
|
|
 |
a80764 |
--- a/cups/string.c
|
|
 |
a80764 |
+++ b/cups/string.c
|
|
 |
a80764 |
@@ -303,6 +303,13 @@ _cupsStrFree(const char *s) /* I - String to free */
|
|
 |
a80764 |
|
|
 |
a80764 |
key = (_cups_sp_item_t *)(s - offsetof(_cups_sp_item_t, str));
|
|
 |
a80764 |
|
|
 |
a80764 |
+ if ((item = (_cups_sp_item_t *)cupsArrayFind(stringpool, key)) != NULL &&
|
|
 |
a80764 |
+ item == key)
|
|
 |
a80764 |
+ {
|
|
 |
a80764 |
+ /*
|
|
 |
a80764 |
+ * Found it, dereference...
|
|
 |
a80764 |
+ */
|
|
 |
a80764 |
+
|
|
 |
a80764 |
#ifdef DEBUG_GUARDS
|
|
 |
a80764 |
if (key->guard != _CUPS_STR_GUARD)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
@@ -312,13 +319,6 @@ _cupsStrFree(const char *s) /* I - String to free */
|
|
 |
a80764 |
}
|
|
 |
a80764 |
#endif /* DEBUG_GUARDS */
|
|
 |
a80764 |
|
|
 |
a80764 |
- if ((item = (_cups_sp_item_t *)cupsArrayFind(stringpool, key)) != NULL &&
|
|
 |
a80764 |
- item == key)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- /*
|
|
 |
a80764 |
- * Found it, dereference...
|
|
 |
a80764 |
- */
|
|
 |
a80764 |
-
|
|
 |
a80764 |
item->ref_count --;
|
|
 |
a80764 |
|
|
 |
a80764 |
if (!item->ref_count)
|
|
 |
a80764 |
diff --git a/ppdc/ppdc-import.cxx b/ppdc/ppdc-import.cxx
|
|
 |
a80764 |
index d41cbb9..2999312 100644
|
|
 |
a80764 |
--- a/ppdc/ppdc-import.cxx
|
|
 |
a80764 |
+++ b/ppdc/ppdc-import.cxx
|
|
 |
a80764 |
@@ -334,6 +334,9 @@ ppdcSource::import_ppd(const char *f) // I - Filename
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
+ if (ppd)
|
|
 |
a80764 |
+ ppdClose(ppd);
|
|
 |
a80764 |
+
|
|
 |
a80764 |
return (1);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
|
|
 |
a80764 |
index 767ed25..207ebe7 100644
|
|
 |
a80764 |
--- a/scheduler/ipp.c
|
|
 |
a80764 |
+++ b/scheduler/ipp.c
|
|
 |
a80764 |
@@ -2859,8 +2859,7 @@ add_printer(cupsd_client_t *con, /* I - Client connection */
|
|
 |
a80764 |
if (!strcmp(attr->values[i].string.text, "none"))
|
|
 |
a80764 |
continue;
|
|
 |
a80764 |
|
|
 |
a80764 |
- printer->reasons[printer->num_reasons] =
|
|
 |
a80764 |
- _cupsStrRetain(attr->values[i].string.text);
|
|
 |
a80764 |
+ printer->reasons[printer->num_reasons] = _cupsStrAlloc(attr->values[i].string.text);
|
|
 |
a80764 |
printer->num_reasons ++;
|
|
 |
a80764 |
|
|
 |
a80764 |
if (!strcmp(attr->values[i].string.text, "paused") &&
|
|
 |
a80764 |
@@ -5310,8 +5309,7 @@ copy_printer_attrs(
|
|
 |
a80764 |
|
|
 |
a80764 |
if ((p2_uri = ippFindAttribute(p2->attrs, "printer-uri-supported",
|
|
 |
a80764 |
IPP_TAG_URI)) != NULL)
|
|
 |
a80764 |
- member_uris->values[i].string.text =
|
|
 |
a80764 |
- _cupsStrRetain(p2_uri->values[0].string.text);
|
|
 |
a80764 |
+ member_uris->values[i].string.text = _cupsStrAlloc(p2_uri->values[0].string.text);
|
|
 |
a80764 |
else
|
|
 |
a80764 |
{
|
|
 |
a80764 |
httpAssembleURIf(HTTP_URI_CODING_ALL, printer_uri,
|
|
 |
a80764 |
diff --git a/scheduler/printers.c b/scheduler/printers.c
|
|
 |
a80764 |
index 2484db6..91cbc74 100644
|
|
 |
a80764 |
--- a/scheduler/printers.c
|
|
 |
a80764 |
+++ b/scheduler/printers.c
|
|
 |
a80764 |
@@ -100,8 +100,7 @@ static void delete_printer_filters(cupsd_printer_t *p);
|
|
 |
a80764 |
static void dirty_printer(cupsd_printer_t *p);
|
|
 |
a80764 |
static void load_ppd(cupsd_printer_t *p);
|
|
 |
a80764 |
static void log_ipp_conformance(cupsd_printer_t *p, const char *reason);
|
|
 |
a80764 |
-static ipp_t *new_media_col(_pwg_size_t *size, const char *source,
|
|
 |
a80764 |
- const char *type);
|
|
 |
a80764 |
+static ipp_t *new_media_col(_pwg_size_t *size);
|
|
 |
a80764 |
#ifdef __sgi
|
|
 |
a80764 |
static void write_irix_config(cupsd_printer_t *p);
|
|
 |
a80764 |
static void write_irix_state(cupsd_printer_t *p);
|
|
 |
a80764 |
@@ -2219,7 +2218,7 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
|
|
 |
a80764 |
for (i = 0, name = (char *)cupsArrayFirst(p->users);
|
|
 |
a80764 |
name;
|
|
 |
a80764 |
i ++, name = (char *)cupsArrayNext(p->users))
|
|
 |
a80764 |
- attr->values[i].string.text = _cupsStrRetain(name);
|
|
 |
a80764 |
+ attr->values[i].string.text = _cupsStrAlloc(name);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
ippAddInteger(p->attrs, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
|
|
 |
a80764 |
@@ -2325,7 +2324,7 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
|
|
 |
a80764 |
for (i = 0; i < p->num_printers; i ++)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
if (attr != NULL)
|
|
 |
a80764 |
- attr->values[i].string.text = _cupsStrRetain(p->printers[i]->name);
|
|
 |
a80764 |
+ attr->values[i].string.text = _cupsStrAlloc(p->printers[i]->name);
|
|
 |
a80764 |
|
|
 |
a80764 |
p->type &= ~CUPS_PRINTER_OPTIONS | p->printers[i]->type;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
@@ -2425,7 +2424,7 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = 0; i < oldattr->num_values; i ++)
|
|
 |
a80764 |
attr->values[i].string.text =
|
|
 |
a80764 |
- _cupsStrRetain(oldattr->values[i].string.text);
|
|
 |
a80764 |
+ _cupsStrAlloc(oldattr->values[i].string.text);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -2479,7 +2478,7 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = 0; i < oldattr->num_values; i ++)
|
|
 |
a80764 |
attr->values[i].string.text =
|
|
 |
a80764 |
- _cupsStrRetain(oldattr->values[i].string.text);
|
|
 |
a80764 |
+ _cupsStrAlloc(oldattr->values[i].string.text);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -2492,7 +2491,7 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
for (i = 0; i < oldattr->num_values; i ++)
|
|
 |
a80764 |
attr->values[i].string.text =
|
|
 |
a80764 |
- _cupsStrRetain(oldattr->values[i].string.text);
|
|
 |
a80764 |
+ _cupsStrAlloc(oldattr->values[i].string.text);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -3799,21 +3798,19 @@ dirty_printer(cupsd_printer_t *p) /* I - Printer */
|
|
 |
a80764 |
static void
|
|
 |
a80764 |
load_ppd(cupsd_printer_t *p) /* I - Printer */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- int i, j, k; /* Looping vars */
|
|
 |
a80764 |
+ int i, j; /* Looping vars */
|
|
 |
a80764 |
char cache_name[1024]; /* Cache filename */
|
|
 |
a80764 |
struct stat cache_info; /* Cache file info */
|
|
 |
a80764 |
ppd_file_t *ppd; /* PPD file */
|
|
 |
a80764 |
char ppd_name[1024]; /* PPD filename */
|
|
 |
a80764 |
struct stat ppd_info; /* PPD file info */
|
|
 |
a80764 |
- int num_media; /* Number of media options */
|
|
 |
a80764 |
+ int num_media; /* Number of media values */
|
|
 |
a80764 |
ppd_size_t *size; /* Current PPD size */
|
|
 |
a80764 |
ppd_option_t *duplex, /* Duplex option */
|
|
 |
a80764 |
*output_bin, /* OutputBin option */
|
|
 |
a80764 |
*output_mode, /* OutputMode option */
|
|
 |
a80764 |
*resolution; /* (Set|JCL|)Resolution option */
|
|
 |
a80764 |
- ppd_choice_t *choice, /* Current PPD choice */
|
|
 |
a80764 |
- *input_slot, /* Current input slot */
|
|
 |
a80764 |
- *media_type; /* Current media type */
|
|
 |
a80764 |
+ ppd_choice_t *choice; /* Current PPD choice */
|
|
 |
a80764 |
ppd_attr_t *ppd_attr; /* PPD attribute */
|
|
 |
a80764 |
int xdpi, /* Horizontal resolution */
|
|
 |
a80764 |
ydpi; /* Vertical resolution */
|
|
 |
a80764 |
@@ -4037,18 +4034,7 @@ load_ppd(cupsd_printer_t *p) /* I - Printer */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
ipp_t *col; /* Collection value */
|
|
 |
a80764 |
|
|
 |
a80764 |
- input_slot = ppdFindMarkedChoice(ppd, "InputSlot");
|
|
 |
a80764 |
- media_type = ppdFindMarkedChoice(ppd, "MediaType");
|
|
 |
a80764 |
- col = new_media_col(pwgsize,
|
|
 |
a80764 |
- input_slot ?
|
|
 |
a80764 |
- _ppdCacheGetSource(p->pc,
|
|
 |
a80764 |
- input_slot->choice) :
|
|
 |
a80764 |
- NULL,
|
|
 |
a80764 |
- media_type ?
|
|
 |
a80764 |
- _ppdCacheGetType(p->pc,
|
|
 |
a80764 |
- media_type->choice) :
|
|
 |
a80764 |
- NULL);
|
|
 |
a80764 |
-
|
|
 |
a80764 |
+ col = new_media_col(pwgsize);
|
|
 |
a80764 |
ippAddCollection(p->ppd_attrs, IPP_TAG_PRINTER, "media-col-default",
|
|
 |
a80764 |
col);
|
|
 |
a80764 |
ippDelete(col);
|
|
 |
a80764 |
@@ -4071,13 +4057,13 @@ load_ppd(cupsd_printer_t *p) /* I - Printer */
|
|
 |
a80764 |
for (i = p->pc->num_sizes, pwgsize = p->pc->sizes;
|
|
 |
a80764 |
i > 0;
|
|
 |
a80764 |
i --, pwgsize ++, val ++)
|
|
 |
a80764 |
- val->string.text = _cupsStrRetain(pwgsize->map.pwg);
|
|
 |
a80764 |
+ val->string.text = _cupsStrAlloc(pwgsize->map.pwg);
|
|
 |
a80764 |
|
|
 |
a80764 |
if (p->pc->custom_min_keyword)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- val->string.text = _cupsStrRetain(p->pc->custom_min_keyword);
|
|
 |
a80764 |
+ val->string.text = _cupsStrAlloc(p->pc->custom_min_keyword);
|
|
 |
a80764 |
val ++;
|
|
 |
a80764 |
- val->string.text = _cupsStrRetain(p->pc->custom_max_keyword);
|
|
 |
a80764 |
+ val->string.text = _cupsStrAlloc(p->pc->custom_max_keyword);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -4129,7 +4115,7 @@ load_ppd(cupsd_printer_t *p) /* I - Printer */
|
|
 |
a80764 |
val = attr->values;
|
|
 |
a80764 |
i > 0;
|
|
 |
a80764 |
i --, pwgsource ++, val ++)
|
|
 |
a80764 |
- val->string.text = _cupsStrRetain(pwgsource->pwg);
|
|
 |
a80764 |
+ val->string.text = _cupsStrAlloc(pwgsource->pwg);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
@@ -4145,7 +4131,7 @@ load_ppd(cupsd_printer_t *p) /* I - Printer */
|
|
 |
a80764 |
val = attr->values;
|
|
 |
a80764 |
i > 0;
|
|
 |
a80764 |
i --, pwgtype ++, val ++)
|
|
 |
a80764 |
- val->string.text = _cupsStrRetain(pwgtype->pwg);
|
|
 |
a80764 |
+ val->string.text = _cupsStrAlloc(pwgtype->pwg);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
/*
|
|
 |
a80764 |
@@ -4244,89 +4230,19 @@ load_ppd(cupsd_printer_t *p) /* I - Printer */
|
|
 |
a80764 |
* media-col-database
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
- num_media = p->pc->num_sizes;
|
|
 |
a80764 |
- if (p->pc->num_sources)
|
|
 |
a80764 |
+ if ((attr = ippAddCollections(p->ppd_attrs, IPP_TAG_PRINTER, "media-col-database", p->pc->num_sizes, NULL)) != NULL)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- if (p->pc->num_types > 0)
|
|
 |
a80764 |
- num_media += p->pc->num_sizes * p->pc->num_sources *
|
|
 |
a80764 |
- p->pc->num_types;
|
|
 |
a80764 |
- else
|
|
 |
a80764 |
- num_media += p->pc->num_sizes * p->pc->num_sources;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- else if (p->pc->num_types)
|
|
 |
a80764 |
- num_media += p->pc->num_sizes * p->pc->num_types;
|
|
 |
a80764 |
+ /*
|
|
 |
a80764 |
+ * Add each page size without source or type...
|
|
 |
a80764 |
+ */
|
|
 |
a80764 |
|
|
 |
a80764 |
- if ((attr = ippAddCollections(p->ppd_attrs, IPP_TAG_PRINTER,
|
|
 |
a80764 |
- "media-col-database", num_media,
|
|
 |
a80764 |
- NULL)) != NULL)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- for (i = p->pc->num_sizes, pwgsize = p->pc->sizes, val = attr->values;
|
|
 |
a80764 |
- i > 0;
|
|
 |
a80764 |
- i --, pwgsize ++)
|
|
 |
a80764 |
+ for (i = 0, pwgsize = p->pc->sizes; i < p->pc->num_sizes; i ++, pwgsize ++)
|
|
 |
a80764 |
{
|
|
 |
a80764 |
- /*
|
|
 |
a80764 |
- * Start by adding the page size without source or type...
|
|
 |
a80764 |
- */
|
|
 |
a80764 |
+ ipp_t *col = new_media_col(pwgsize);
|
|
 |
a80764 |
|
|
 |
a80764 |
- ppdMarkOption(ppd, "PageSize", pwgsize->map.ppd);
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- val->collection = new_media_col(pwgsize, NULL, NULL);
|
|
 |
a80764 |
- val ++;
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- /*
|
|
 |
a80764 |
- * Then add the specific, supported combinations of size, source, and
|
|
 |
a80764 |
- * type...
|
|
 |
a80764 |
- */
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- if (p->pc->num_sources > 0)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- for (j = p->pc->num_sources, pwgsource = p->pc->sources;
|
|
 |
a80764 |
- j > 0;
|
|
 |
a80764 |
- j --, pwgsource ++)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- ppdMarkOption(ppd, "InputSlot", pwgsource->ppd);
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- if (p->pc->num_types > 0)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- for (k = p->pc->num_types, pwgtype = p->pc->types;
|
|
 |
a80764 |
- k > 0;
|
|
 |
a80764 |
- k --, pwgtype ++)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- if (!ppdMarkOption(ppd, "MediaType", pwgtype->ppd))
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- val->collection = new_media_col(pwgsize, pwgsource->pwg,
|
|
 |
a80764 |
- pwgtype->pwg);
|
|
 |
a80764 |
- val ++;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- else if (!ppdConflicts(ppd))
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- val->collection = new_media_col(pwgsize, pwgsource->pwg, NULL);
|
|
 |
a80764 |
- val ++;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- else if (p->pc->num_types > 0)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- for (j = p->pc->num_types, pwgtype = p->pc->types;
|
|
 |
a80764 |
- j > 0;
|
|
 |
a80764 |
- j --, pwgtype ++)
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- if (!ppdMarkOption(ppd, "MediaType", pwgtype->ppd))
|
|
 |
a80764 |
- {
|
|
 |
a80764 |
- val->collection = new_media_col(pwgsize, NULL, pwgtype->pwg);
|
|
 |
a80764 |
- val ++;
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
- }
|
|
 |
a80764 |
+ ippSetCollection(p->ppd_attrs, &attr, i, col);
|
|
 |
a80764 |
+ ippDelete(col);
|
|
 |
a80764 |
}
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- /*
|
|
 |
a80764 |
- * Update the number of media-col-database values...
|
|
 |
a80764 |
- */
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- attr->num_values = val - attr->values;
|
|
 |
a80764 |
}
|
|
 |
a80764 |
}
|
|
 |
a80764 |
|
|
 |
a80764 |
@@ -5081,9 +4997,7 @@ log_ipp_conformance(
|
|
 |
a80764 |
*/
|
|
 |
a80764 |
|
|
 |
a80764 |
static ipp_t * /* O - Collection value */
|
|
 |
a80764 |
-new_media_col(_pwg_size_t *size, /* I - media-size/margin values */
|
|
 |
a80764 |
- const char *source, /* I - media-source value */
|
|
 |
a80764 |
- const char *type) /* I - media-type value */
|
|
 |
a80764 |
+new_media_col(_pwg_size_t *size) /* I - media-size/margin values */
|
|
 |
a80764 |
{
|
|
 |
a80764 |
ipp_t *media_col, /* Collection value */
|
|
 |
a80764 |
*media_size; /* media-size value */
|
|
 |
a80764 |
@@ -5092,29 +5006,15 @@ new_media_col(_pwg_size_t *size, /* I - media-size/margin values */
|
|
 |
a80764 |
media_col = ippNew();
|
|
 |
a80764 |
|
|
 |
a80764 |
media_size = ippNew();
|
|
 |
a80764 |
- ippAddInteger(media_size, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
|
|
 |
a80764 |
- "x-dimension", size->width);
|
|
 |
a80764 |
- ippAddInteger(media_size, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
|
|
 |
a80764 |
- "y-dimension", size->length);
|
|
 |
a80764 |
+ ippAddInteger(media_size, IPP_TAG_PRINTER, IPP_TAG_INTEGER, "x-dimension", size->width);
|
|
 |
a80764 |
+ ippAddInteger(media_size, IPP_TAG_PRINTER, IPP_TAG_INTEGER, "y-dimension", size->length);
|
|
 |
a80764 |
ippAddCollection(media_col, IPP_TAG_PRINTER, "media-size", media_size);
|
|
 |
a80764 |
ippDelete(media_size);
|
|
 |
a80764 |
|
|
 |
a80764 |
- ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
|
|
 |
a80764 |
- "media-bottom-margin", size->bottom);
|
|
 |
a80764 |
- ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
|
|
 |
a80764 |
- "media-left-margin", size->left);
|
|
 |
a80764 |
- ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
|
|
 |
a80764 |
- "media-right-margin", size->right);
|
|
 |
a80764 |
- ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
|
|
 |
a80764 |
- "media-top-margin", size->top);
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- if (source)
|
|
 |
a80764 |
- ippAddString(media_col, IPP_TAG_PRINTER, IPP_TAG_KEYWORD, "media-source",
|
|
 |
a80764 |
- NULL, source);
|
|
 |
a80764 |
-
|
|
 |
a80764 |
- if (type)
|
|
 |
a80764 |
- ippAddString(media_col, IPP_TAG_PRINTER, IPP_TAG_KEYWORD, "media-type",
|
|
 |
a80764 |
- NULL, type);
|
|
 |
a80764 |
+ ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER, "media-bottom-margin", size->bottom);
|
|
 |
a80764 |
+ ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER, "media-left-margin", size->left);
|
|
 |
a80764 |
+ ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER, "media-right-margin", size->right);
|
|
 |
a80764 |
+ ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER, "media-top-margin", size->top);
|
|
 |
a80764 |
|
|
 |
a80764 |
return (media_col);
|
|
 |
a80764 |
}
|