@@ -17,6 +17,7 @@ SMFPRINTGLOB;
1717
1818void printQSPH (qsph * p )
1919{
20+ char flags ;
2021 SMFPRINTSTART ("QSPH" , p , conv16 (p -> qsphll ));
2122
2223 ADDS32 ("Current_Size" ,p -> qsphstor );
@@ -25,18 +26,20 @@ void printQSPH(qsph *p)
2526 ADDU16 ("Record_Size" ,p -> qsphbsize );
2627 ADDU16 ("Records_per_Segment" ,p -> qsphbcnt );
2728 ADDU32 ("PHB_Count" ,p -> qsphcount );
28- if (p -> qsphflags & QSPHDSPC ) {
29+ /* These flags are in a char field (not an int) so no conversion needed */
30+ flags = p -> qsphflags ;
31+ if (flags & QSPHDSPC ) {
2932 ADDSTREN ("Dataspace_Name" ,(char * )& p -> qsphdspnm ,8 );
3033 } else {
3134 ADDSTR ("Dataspace_Name" ," " ,8 );
3235 }
3336 ADDSTREN ("Name" ,p -> qsphname ,48 );
3437
35- ADDSTR ("Attr_Fixed" , ((p -> qsphflags & QSPHFIXED )?"Yes" :"No" ),3 );
36- ADDSTR ("Attr_Glob" , (( p -> qsphflags & QSPHGLOB )?"Yes" :"No" ),3 );
37- ADDSTR ("Attr_DSP " , ((p -> qsphflags & QSPHDSPC )?"Yes" :"No" ),3 );
38- ADDSTR ("Attr_IVSA " , ((p -> qsphflags & QSPHIVSA )?"Yes" :"No" ),3 );
39- ADDSTR ("Attr_64BIT" , ((p -> qsphflags & QSPH64BIT )?"Yes" :"No" ),3 );
38+ ADDSTR ("Attr_Fixed" , ((flags & QSPHFIXED )?"Yes" :"No" ),3 );
39+ ADDSTR ("Attr_Glob" , (( flags & QSPHGLOB )?"Yes" :"No" ),3 );
40+ ADDSTR ("Attr_DSP " , ((flags & QSPHDSPC )?"Yes" :"No" ),3 );
41+ ADDSTR ("Attr_IVSA " , ((flags & QSPHIVSA )?"Yes" :"No" ),3 );
42+ ADDSTR ("Attr_64BIT" , ((flags & QSPH64BIT )?"Yes" :"No" ),3 );
4043
4144
4245 SMFPRINTSTOP ;
0 commit comments