MCPcopy Create free account
hub / github.com/OpenPrinting/cups / ippAddCollections

Function ippAddCollections

cups/ipp.c:263–307  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

261 */
262
263ipp_attribute_t * /* O - New attribute */
264ippAddCollections(
265 ipp_t *ipp, /* I - IPP message */
266 ipp_tag_t group, /* I - IPP group */
267 const char *name, /* I - Name of attribute */
268 int num_values, /* I - Number of values */
269 const ipp_t **values) /* I - Values */
270{
271 int i; /* Looping var */
272 ipp_attribute_t *attr; /* New attribute */
273 _ipp_value_t *value; /* Current value */
274
275
276 DEBUG_printf(("ippAddCollections(ipp=%p, group=%02x(%s), name=\"%s\", num_values=%d, values=%p)", (void *)ipp, group, ippTagString(group), name, num_values, (void *)values));
277
278 /*
279 * Range check input...
280 */
281
282 if (!ipp || !name || group < IPP_TAG_ZERO ||
283 group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
284 num_values < 1)
285 return (NULL);
286
287 /*
288 * Create the attribute...
289 */
290
291 if ((attr = ipp_add_attr(ipp, name, group, IPP_TAG_BEGIN_COLLECTION,
292 num_values)) == NULL)
293 return (NULL);
294
295 if (values)
296 {
297 for (i = num_values, value = attr->values;
298 i > 0;
299 i --, value ++)
300 {
301 value->collection = (ipp_t *)*values++;
302 value->collection->use ++;
303 }
304 }
305
306 return (attr);
307}
308
309
310/*

Callers 5

load_legacy_attributesFunction · 0.85
load_ppd_attributesFunction · 0.85
load_ppdFunction · 0.85
mainFunction · 0.85
ippCopyAttributeFunction · 0.85

Calls 2

ippTagStringFunction · 0.85
ipp_add_attrFunction · 0.85

Tested by 1

mainFunction · 0.68