| 1240 | // |
| 1241 | |
| 1242 | gpre_nod* SQE_variable(gpre_req* request, bool /*aster_ok*/, USHORT* /*paren_count*/, bool* /*bool_flag*/) |
| 1243 | { |
| 1244 | assert_IS_REQ(request); |
| 1245 | |
| 1246 | if (!MSC_match(KW_COLON)) |
| 1247 | CPR_s_error("<colon>"); |
| 1248 | |
| 1249 | if (isQuoted(gpreGlob.token_global.tok_type)) |
| 1250 | CPR_s_error("<host variable>"); |
| 1251 | |
| 1252 | ref* reference = (ref*) MSC_alloc(REF_LEN); |
| 1253 | |
| 1254 | // This loop is a waste of time because the flag SYM_variable is never activated |
| 1255 | for (gpre_sym* symbol = gpreGlob.token_global.tok_symbol; symbol; symbol = symbol->sym_homonym) |
| 1256 | { |
| 1257 | if (symbol->sym_type == SYM_variable) |
| 1258 | { |
| 1259 | reference->ref_field = (gpre_fld*) symbol->sym_object; |
| 1260 | break; |
| 1261 | } |
| 1262 | } |
| 1263 | |
| 1264 | reference->ref_value = PAR_native_value(false, false); |
| 1265 | |
| 1266 | MSC_match(KW_INDICATOR); |
| 1267 | |
| 1268 | if (MSC_match(KW_COLON)) |
| 1269 | reference->ref_null_value = PAR_native_value(false, false); |
| 1270 | |
| 1271 | return (gpre_nod*) reference; |
| 1272 | } |
| 1273 | |
| 1274 | |
| 1275 | //____________________________________________________________ |
no test coverage detected