Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:05:32

0001 /*
0002  *  qp_exe_op_str.h  --
0003  *
0004  *  Original: 23-Jan-1996 12:09
0005  *
0006  *  Author:   Maarten Ballintijn <Maarten.Ballintijn@cern.ch>
0007  *
0008  *  $Id$
0009  *
0010  *  $Log$
0011  *  Revision 1.4  1996/04/23 18:38:33  maartenb
0012  *  - Add RCS keywords
0013  *
0014  *
0015  */
0016 
0017 case FC_LT + (D_STR * 64):
0018     o1 = &stack[frame[framep]];
0019     o2 = &stack[frame[framep-1]];
0020     POP_FRAME(2);
0021     NEW_FRAME(D_BOOL,1,r);
0022     if ( strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) < 0 ) {
0023         *((bool *) r) = TRUE;
0024     } else {
0025         *((bool *) r) = FALSE;
0026     }
0027     break;
0028 
0029 case FC_LE + (D_STR * 64):
0030     o1 = &stack[frame[framep]];
0031     o2 = &stack[frame[framep-1]];
0032     POP_FRAME(2);
0033     NEW_FRAME(D_BOOL,1,r);
0034     if ( strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) <= 0 ) {
0035         *((bool *) r) = TRUE;
0036     } else {
0037         *((bool *) r) = FALSE;
0038     }
0039     break;
0040 
0041 case FC_LTLT + (D_STR * 64):
0042     o1 = &stack[frame[framep]];
0043     o2 = &stack[frame[framep-1]];
0044     o3 = &stack[frame[framep-2]];
0045     POP_FRAME(3);
0046     NEW_FRAME(D_BOOL,1,r);
0047     if ( (strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) < 0) && (strncasecmp( (char *) o2, (char *) o3, QP_STR_MAX ) < 0) ) {
0048         *((bool *) r) = TRUE;
0049     } else {
0050         *((bool *) r) = FALSE;
0051     }
0052     break;
0053 
0054 case FC_LTLE + (D_STR * 64):
0055     o1 = &stack[frame[framep]];
0056     o2 = &stack[frame[framep-1]];
0057     o3 = &stack[frame[framep-2]];
0058     POP_FRAME(3);
0059     NEW_FRAME(D_BOOL,1,r);
0060     if ( (strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) < 0) && (strncasecmp( (char *) o2, (char *) o3, QP_STR_MAX ) <= 0) ) {
0061         *((bool *) r) = TRUE;
0062     } else {
0063         *((bool *) r) = FALSE;
0064     }
0065     break;
0066 
0067 case FC_LELT + (D_STR * 64):
0068     o1 = &stack[frame[framep]];
0069     o2 = &stack[frame[framep-1]];
0070     o3 = &stack[frame[framep-2]];
0071     POP_FRAME(3);
0072     NEW_FRAME(D_BOOL,1,r);
0073     if ( (strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) <= 0) && (strncasecmp( (char *) o2, (char *) o3, QP_STR_MAX ) < 0) ) {
0074         *((bool *) r) = TRUE;
0075     } else {
0076         *((bool *) r) = FALSE;
0077     }
0078     break;
0079 
0080 case FC_LELE + (D_STR * 64):
0081     o1 = &stack[frame[framep]];
0082     o2 = &stack[frame[framep-1]];
0083     o3 = &stack[frame[framep-2]];
0084     POP_FRAME(3);
0085     NEW_FRAME(D_BOOL,1,r);
0086     if ( (strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) <= 0) && (strncasecmp( (char *) o2, (char *) o3, QP_STR_MAX ) <= 0) ) {
0087         *((bool *) r) = TRUE;
0088     } else {
0089         *((bool *) r) = FALSE;
0090     }
0091     break;
0092 
0093 case FC_GT + (D_STR * 64):
0094     o1 = &stack[frame[framep]];
0095     o2 = &stack[frame[framep-1]];
0096     POP_FRAME(2);
0097     NEW_FRAME(D_BOOL,1,r);
0098     if ( strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) > 0 ) {
0099         *((bool *) r) = TRUE;
0100     } else {
0101         *((bool *) r) = FALSE;
0102     }
0103     break;
0104 
0105 case FC_GE + (D_STR * 64):
0106     o1 = &stack[frame[framep]];
0107     o2 = &stack[frame[framep-1]];
0108     POP_FRAME(2);
0109     NEW_FRAME(D_BOOL,1,r);
0110     if ( strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) >= 0 ) {
0111         *((bool *) r) = TRUE;
0112     } else {
0113         *((bool *) r) = FALSE;
0114     }
0115     break;
0116 
0117 
0118 case FC_GTGT + (D_STR * 64):
0119     o1 = &stack[frame[framep]];
0120     o2 = &stack[frame[framep-1]];
0121     o3 = &stack[frame[framep-2]];
0122     POP_FRAME(3);
0123     NEW_FRAME(D_BOOL,1,r);
0124     if ( (strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) > 0) && (strncasecmp( (char *) o2, (char *) o3, QP_STR_MAX ) > 0) ) {
0125         *((bool *) r) = TRUE;
0126     } else {
0127         *((bool *) r) = FALSE;
0128     }
0129     break;
0130 
0131 case FC_GTGE + (D_STR * 64):
0132     o1 = &stack[frame[framep]];
0133     o2 = &stack[frame[framep-1]];
0134     o3 = &stack[frame[framep-2]];
0135     POP_FRAME(3);
0136     NEW_FRAME(D_BOOL,1,r);
0137     if ( (strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) > 0) && (strncasecmp( (char *) o2, (char *) o3, QP_STR_MAX ) >= 0) ) {
0138         *((bool *) r) = TRUE;
0139     } else {
0140         *((bool *) r) = FALSE;
0141     }
0142     break;
0143 
0144 case FC_GEGT + (D_STR * 64):
0145     o1 = &stack[frame[framep]];
0146     o2 = &stack[frame[framep-1]];
0147     o3 = &stack[frame[framep-2]];
0148     POP_FRAME(3);
0149     NEW_FRAME(D_BOOL,1,r);
0150     if ( (strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) >= 0) && (strncasecmp( (char *) o2, (char *) o3, QP_STR_MAX ) > 0) ) {
0151         *((bool *) r) = TRUE;
0152     } else {
0153         *((bool *) r) = FALSE;
0154     }
0155     break;
0156 
0157 case FC_GEGE + (D_STR * 64):
0158     o1 = &stack[frame[framep]];
0159     o2 = &stack[frame[framep-1]];
0160     o3 = &stack[frame[framep-2]];
0161     POP_FRAME(3);
0162     NEW_FRAME(D_BOOL,1,r);
0163     if ( (strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) >= 0) && (strncasecmp( (char *) o2, (char *) o3, QP_STR_MAX ) >= 0) ) {
0164         *((bool *) r) = TRUE;
0165     } else {
0166         *((bool *) r) = FALSE;
0167     }
0168     break;
0169 
0170 
0171 case FC_EQ + (D_STR * 64):
0172     o1 = &stack[frame[framep]];
0173     o2 = &stack[frame[framep-1]];
0174     POP_FRAME(2);
0175     NEW_FRAME(D_BOOL,1,r);
0176     if ( strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) == 0 ) {
0177         *((bool *) r) = TRUE;
0178     } else {
0179         *((bool *) r) = FALSE;
0180     }
0181     break;
0182 
0183 case FC_NE + (D_STR * 64):
0184     o1 = &stack[frame[framep]];
0185     o2 = &stack[frame[framep-1]];
0186     POP_FRAME(2);
0187     NEW_FRAME(D_BOOL,1,r);
0188     if ( strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) != 0 ) {
0189         *((bool *) r) = TRUE;
0190     } else {
0191         *((bool *) r) = FALSE;
0192     }
0193     break;
0194 
0195 /* this needs a specific implementation, probably ... :-( */
0196 case FC_CT + (D_STR * 64):
0197     sf_report( "Warning: FC_CT not implemented properly\n" );
0198     o1 = &stack[frame[framep]];
0199     o2 = &stack[frame[framep-1]];
0200     POP_FRAME(2);
0201     NEW_FRAME(D_BOOL,1,r);
0202     if ( strncasecmp( (char *) o1, (char *) o2, QP_STR_MAX ) == 0 ) {
0203         *((bool *) r) = TRUE;
0204     } else {
0205         *((bool *) r) = FALSE;
0206     }
0207     break;