@@ -3993,12 +3993,12 @@ _ppdCreateFromIPP2(
39933993 * InputSlot...
39943994 */
39953995
3996- if ((attr = ippFindAttribute (ippGetCollection (defattr , 0 ), "media-source" , IPP_TAG_ZERO )) != NULL )
3996+ if ((attr = ippFindAttribute (ippGetCollection (defattr , 0 ), "media-source" , IPP_TAG_ZERO )) != NULL && ( ippGetValueTag ( attr ) == IPP_TAG_KEYWORD || ippGetValueTag ( attr ) == IPP_TAG_NAME || ippGetValueTag ( attr ) == IPP_TAG_NAMELANG ) )
39973997 pwg_ppdize_name (ippGetString (attr , 0 , NULL ), ppdname , sizeof (ppdname ));
39983998 else
39993999 ppdname [0 ] = '\0' ;
40004000
4001- if ((attr = ippFindAttribute (supported , "media-source-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 1 )
4001+ if ((attr = ippFindAttribute (supported , "media-source-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 1 && ( ippGetValueTag ( attr ) == IPP_TAG_KEYWORD || ippGetValueTag ( attr ) == IPP_TAG_NAME || ippGetValueTag ( attr ) == IPP_TAG_NAMELANG ) )
40024002 {
40034003 int have_default = ppdname [0 ] != '\0' ;
40044004 /* Do we have a default InputSlot? */
@@ -4089,12 +4089,12 @@ _ppdCreateFromIPP2(
40894089 * MediaType...
40904090 */
40914091
4092- if ((attr = ippFindAttribute (ippGetCollection (defattr , 0 ), "media-type" , IPP_TAG_ZERO )) != NULL )
4092+ if ((attr = ippFindAttribute (ippGetCollection (defattr , 0 ), "media-type" , IPP_TAG_ZERO )) != NULL && ( ippGetValueTag ( attr ) == IPP_TAG_KEYWORD || ippGetValueTag ( attr ) == IPP_TAG_NAME || ippGetValueTag ( attr ) == IPP_TAG_NAMELANG ) )
40934093 pwg_ppdize_name (ippGetString (attr , 0 , NULL ), ppdname , sizeof (ppdname ));
40944094 else
40954095 strlcpy (ppdname , "Unknown" , sizeof (ppdname ));
40964096
4097- if ((attr = ippFindAttribute (supported , "media-type-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 1 )
4097+ if ((attr = ippFindAttribute (supported , "media-type-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 1 && ( ippGetValueTag ( attr ) == IPP_TAG_KEYWORD || ippGetValueTag ( attr ) == IPP_TAG_NAME || ippGetValueTag ( attr ) == IPP_TAG_NAMELANG ) )
40984098 {
40994099 cupsFilePrintf (fp , "*OpenUI *MediaType: PickOne\n"
41004100 "*OrderDependency: 10 AnySetup *MediaType\n"
@@ -4540,12 +4540,12 @@ _ppdCreateFromIPP2(
45404540 * Output bin...
45414541 */
45424542
4543- if ((attr = ippFindAttribute (supported , "output-bin-default" , IPP_TAG_ZERO )) != NULL )
4543+ if ((attr = ippFindAttribute (supported , "output-bin-default" , IPP_TAG_ZERO )) != NULL && ( ippGetValueTag ( attr ) == IPP_TAG_KEYWORD || ippGetValueTag ( attr ) == IPP_TAG_NAME || ippGetValueTag ( attr ) == IPP_TAG_NAMELANG ) )
45444544 pwg_ppdize_name (ippGetString (attr , 0 , NULL ), ppdname , sizeof (ppdname ));
45454545 else
45464546 strlcpy (ppdname , "Unknown" , sizeof (ppdname ));
45474547
4548- if ((attr = ippFindAttribute (supported , "output-bin-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 0 )
4548+ if ((attr = ippFindAttribute (supported , "output-bin-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 0 && ( ippGetValueTag ( attr ) == IPP_TAG_KEYWORD || ippGetValueTag ( attr ) == IPP_TAG_NAME || ippGetValueTag ( attr ) == IPP_TAG_NAMELANG ) )
45494549 {
45504550 ipp_attribute_t * trays = ippFindAttribute (supported , "printer-output-tray" , IPP_TAG_STRING );
45514551 /* printer-output-tray attribute, if any */
0 commit comments