]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Further simplify the logic in ippCopyAttribute.
authorMichael R Sweet <michael.r.sweet@gmail.com>
Wed, 29 Aug 2018 15:50:22 +0000 (11:50 -0400)
committerMichael R Sweet <michael.r.sweet@gmail.com>
Wed, 29 Aug 2018 15:50:22 +0000 (11:50 -0400)
cups/ipp.c

index efcb01ce4aa1f0bee427a7bdb79eed069f899631..f30d8428f5637b316655b10472a63a2a78848e3e 100644 (file)
@@ -1514,12 +1514,11 @@ ippCopyAttribute(
 
     case IPP_TAG_INTEGER :
     case IPP_TAG_ENUM :
-        if ((dstattr = ippAddIntegers(dst, srcattr->group_tag, srctag, srcattr->name, srcattr->num_values, NULL)) != NULL)
-         memcpy(dstattr->values, srcattr->values, (size_t)srcattr->num_values * sizeof(_ipp_value_t));
-        break;
-
     case IPP_TAG_BOOLEAN :
-        if ((dstattr = ippAddBooleans(dst, srcattr->group_tag, srcattr->name, srcattr->num_values, NULL)) != NULL)
+    case IPP_TAG_DATE :
+    case IPP_TAG_RESOLUTION :
+    case IPP_TAG_RANGE :
+        if ((dstattr = ipp_add_attr(dst, srcattr->name, srcattr->group_tag, srctag, srcattr->num_values)) != NULL)
          memcpy(dstattr->values, srcattr->values, (size_t)srcattr->num_values * sizeof(_ipp_value_t));
         break;
 
@@ -1554,23 +1553,6 @@ ippCopyAttribute(
        }
         break;
 
-    case IPP_TAG_DATE :
-        if (srcattr->num_values != 1)
-          return (NULL);
-
-        dstattr = ippAddDate(dst, srcattr->group_tag, srcattr->name, srcattr->values[0].date);
-        break;
-
-    case IPP_TAG_RESOLUTION :
-        if ((dstattr = ippAddResolutions(dst, srcattr->group_tag, srcattr->name, srcattr->num_values, IPP_RES_PER_INCH, NULL, NULL)) != NULL)
-         memcpy(dstattr->values, srcattr->values, (size_t)srcattr->num_values * sizeof(_ipp_value_t));
-        break;
-
-    case IPP_TAG_RANGE :
-        if ((dstattr = ippAddRanges(dst, srcattr->group_tag, srcattr->name, srcattr->num_values, NULL, NULL)) != NULL)
-         memcpy(dstattr->values, srcattr->values, (size_t)srcattr->num_values * sizeof(_ipp_value_t));
-        break;
-
     case IPP_TAG_TEXTLANG :
     case IPP_TAG_NAMELANG :
         if ((dstattr = ippAddStrings(dst, srcattr->group_tag, (ipp_tag_t)(srctag | quickcopy), srcattr->name, srcattr->num_values, NULL, NULL)) == NULL)