1141 line->body.line.command_template = pat_rule->command_template;
1142 line->body.line.star = GETNAME(percent.buffer.start, FIND_LENGTH);
1143 line->body.line.less = less;
1144
1145 if (lmn_target->parenleft) {
1146 Wstring lmn_string(lmn_target);
1147
1148 wchar_t *left = (wchar_t *) wschr(lmn_string.get_string(), (int) parenleft_char);
1149 wchar_t *right = (wchar_t *) wschr(lmn_string.get_string(), (int) parenright_char);
1150
1151 if ((left == NULL) || (right == NULL)) {
1152 line->body.line.percent = NULL;
1153 } else {
1154 line->body.line.percent = GETNAME(left + 1, right - left - 1);
1155 }
1156 } else {
1157 line->body.line.percent = NULL;
1158 }
1159 pat_rule->being_expanded = false;
1160
1161 #ifdef TEAMWARE_MAKE_CMN
1162 /*
1163 * This #ifdef fixes a dmake bug, but introduces bugid 1136156.
1164 */
1165 return result;
1166 #else
1167 return build_ok;
1168 #endif
1169 }
1170
1171 /*
1172 * match_found_with_pattern
1173 * ( target, pat_rule, percent, percent_buf)
1174 *
1175 * matches "target->string" with a % pattern.
1176 * If pattern contains a MACRO definition, it's expanded first.
1177 *
1178 * Return value:
1179 * true if a match was found
1180 *
1181 * Parameters:
1182 * target The target we're trying to match
1183 * pattern
1184 * percent record that contains "percent_buf" below
1185 * percent_buf This is where the patched % part of pattern is stored
1186 *
1187 */
1188
|
1141 line->body.line.command_template = pat_rule->command_template;
1142 line->body.line.star = GETNAME(percent.buffer.start, FIND_LENGTH);
1143 line->body.line.less = less;
1144
1145 if (lmn_target->parenleft) {
1146 Wstring lmn_string(lmn_target);
1147
1148 wchar_t *left = (wchar_t *) wschr(lmn_string.get_string(), (int) parenleft_char);
1149 wchar_t *right = (wchar_t *) wschr(lmn_string.get_string(), (int) parenright_char);
1150
1151 if ((left == NULL) || (right == NULL)) {
1152 line->body.line.percent = NULL;
1153 } else {
1154 line->body.line.percent = GETNAME(left + 1, right - left - 1);
1155 }
1156 } else {
1157 line->body.line.percent = NULL;
1158 }
1159 pat_rule->being_expanded = false;
1160
1161 return result;
1162 }
1163
1164 /*
1165 * match_found_with_pattern
1166 * ( target, pat_rule, percent, percent_buf)
1167 *
1168 * matches "target->string" with a % pattern.
1169 * If pattern contains a MACRO definition, it's expanded first.
1170 *
1171 * Return value:
1172 * true if a match was found
1173 *
1174 * Parameters:
1175 * target The target we're trying to match
1176 * pattern
1177 * percent record that contains "percent_buf" below
1178 * percent_buf This is where the patched % part of pattern is stored
1179 *
1180 */
1181
|