@@ -3811,7 +3811,7 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
38113811 }
38123812 }
38133813 }
3814- else if ((attr = ippFindAttribute (supported , "media-supported" , IPP_TAG_ZERO )) != NULL )
3814+ else if ((attr = ippFindAttribute (supported , "media-supported" , IPP_TAG_ZERO )) != NULL && ( ippGetValueTag ( attr ) == IPP_TAG_KEYWORD || ippGetValueTag ( attr ) == IPP_TAG_NAME || ippGetValueTag ( attr ) == IPP_TAG_NAMELANG ) )
38153815 {
38163816 for (i = 0 , count = ippGetCount (attr ); i < count ; i ++ )
38173817 {
@@ -3950,12 +3950,12 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
39503950 * InputSlot...
39513951 */
39523952
3953- if ((attr = ippFindAttribute (ippGetCollection (defattr , 0 ), "media-source" , IPP_TAG_ZERO )) != NULL )
3953+ 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 ) )
39543954 pwg_ppdize_name (ippGetString (attr , 0 , NULL ), ppdname , sizeof (ppdname ));
39553955 else
39563956 ppdname [0 ] = '\0' ;
39573957
3958- if ((attr = ippFindAttribute (supported , "media-source-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 1 )
3958+ 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 ) )
39593959 {
39603960 int have_default = ppdname [0 ] != '\0' ;
39613961 /* Do we have a default InputSlot? */
@@ -4046,12 +4046,12 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
40464046 * MediaType...
40474047 */
40484048
4049- if ((attr = ippFindAttribute (ippGetCollection (defattr , 0 ), "media-type" , IPP_TAG_ZERO )) != NULL )
4049+ 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 ) )
40504050 pwg_ppdize_name (ippGetString (attr , 0 , NULL ), ppdname , sizeof (ppdname ));
40514051 else
40524052 cupsCopyString (ppdname , "Unknown" , sizeof (ppdname ));
40534053
4054- if ((attr = ippFindAttribute (supported , "media-type-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 1 )
4054+ 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 ) )
40554055 {
40564056 cupsFilePrintf (fp , "*OpenUI *MediaType: PickOne\n"
40574057 "*OrderDependency: 10 AnySetup *MediaType\n"
@@ -4489,12 +4489,12 @@ _ppdCreateFromIPP(char *buffer, /* I - Filename buffer */
44894489 * Output bin...
44904490 */
44914491
4492- if ((attr = ippFindAttribute (supported , "output-bin-default" , IPP_TAG_ZERO )) != NULL )
4492+ 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 ) )
44934493 pwg_ppdize_name (ippGetString (attr , 0 , NULL ), ppdname , sizeof (ppdname ));
44944494 else
44954495 cupsCopyString (ppdname , "Unknown" , sizeof (ppdname ));
44964496
4497- if ((attr = ippFindAttribute (supported , "output-bin-supported" , IPP_TAG_ZERO )) != NULL && (count = ippGetCount (attr )) > 0 )
4497+ 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 ) )
44984498 {
44994499 ipp_attribute_t * trays = ippFindAttribute (supported , "printer-output-tray" , IPP_TAG_STRING );
45004500 /* printer-output-tray attribute, if any */
0 commit comments