| 567 | */ |
| 568 | |
| 569 | ipp_attribute_t * /* O - New attribute */ |
| 570 | ippAddOutOfBand(ipp_t *ipp, /* I - IPP message */ |
| 571 | ipp_tag_t group, /* I - IPP group */ |
| 572 | ipp_tag_t value_tag, /* I - Type of attribute */ |
| 573 | const char *name) /* I - Name of attribute */ |
| 574 | { |
| 575 | DEBUG_printf(("ippAddOutOfBand(ipp=%p, group=%02x(%s), value_tag=%02x(%s), name=\"%s\")", (void *)ipp, group, ippTagString(group), value_tag, ippTagString(value_tag), name)); |
| 576 | |
| 577 | value_tag &= IPP_TAG_CUPS_MASK; |
| 578 | |
| 579 | /* |
| 580 | * Range check input... |
| 581 | */ |
| 582 | |
| 583 | if (!ipp || !name || group < IPP_TAG_ZERO || |
| 584 | group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE || |
| 585 | (value_tag != IPP_TAG_UNSUPPORTED_VALUE && |
| 586 | value_tag != IPP_TAG_DEFAULT && |
| 587 | value_tag != IPP_TAG_UNKNOWN && |
| 588 | value_tag != IPP_TAG_NOVALUE && |
| 589 | value_tag != IPP_TAG_NOTSETTABLE && |
| 590 | value_tag != IPP_TAG_DELETEATTR && |
| 591 | value_tag != IPP_TAG_ADMINDEFINE)) |
| 592 | return (NULL); |
| 593 | |
| 594 | /* |
| 595 | * Create the attribute... |
| 596 | */ |
| 597 | |
| 598 | return (ipp_add_attr(ipp, name, group, value_tag, 1)); |
| 599 | } |
| 600 | |
| 601 | |
| 602 | /* |
no test coverage detected