]> 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:52:16 +0000 (11:52 -0400)
committerMichael R Sweet <michael.r.sweet@gmail.com>
Wed, 29 Aug 2018 15:52:16 +0000 (11:52 -0400)
cups/ipp.c

index 0c9477ad66f8d168dbe8230fb7ed975e61e009a6..b243b35058840d0c41658128c77cb986021c5c50 100644 (file)
@@ -1523,12 +1523,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;
 
@@ -1563,23 +1562,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)