return;
}
+ // When --at and --line are specified, the only value for --line that will print anything is 0 when using --object.
+ if ((main->setting.flag & iki_read_main_flag_at_d) && (main->setting.flag & iki_read_main_flag_line_d)) {
+ if ((main->setting.flag & iki_read_main_flag_object_d) && main->setting.line) {
+ main->setting.state.status = F_data_not;
+
+ return;
+ }
+ }
+
f_number_unsigned_t i = 0;
if (main->setting.flag & iki_read_main_flag_name_d) {
f_number_unsigned_t j = 0;
f_number_unsigned_t matches = 0;
- uint8_t unmatched = F_true;
+ uint8_t unmatched = 0x1; // 0x1 = unmatched, 0x2 = line break.
if (!(main->setting.flag & iki_read_main_flag_total_d)) {
f_file_stream_lock(main->program.output.to);
return;
}
- // The variable parts, when not using --wrap, each is represented on its own line.
- if (main->setting.flag & iki_read_main_flag_line_d) {
- if (i < main->setting.line) continue;
- if (i > main->setting.line) break;
- }
-
for (j = 0; j < main->setting.names.used; ++j) {
if (iki_read_signal_check(main)) {
}
if (f_compare_dynamic_partial_string(main->setting.names.array[j].string, main->cache.buffer, main->setting.names.array[j].used, data->vocabularys.array[i].array[0]) == F_equal_to) {
- unmatched = F_false;
+ unmatched &= ~0x1;
if (main->setting.flag & iki_read_main_flag_at_d) {
if (matches < main->setting.at) {
}
}
} // for
+
+ if (unmatched & 0x2) break;
} // for
if ((main->setting.flag & iki_read_main_flag_total_d)) {
f_file_stream_unlock(main->program.output.to);
}
- main->setting.state.status = unmatched ? F_data_not : F_okay;
+ main->setting.state.status = (unmatched & 0x1) ? F_data_not : F_okay;
}
else {
if (data->variable.used) {
return;
}
+ // When --at and --line are specified, the only value for --line that will print anything is 0 when using --object.
+ if ((main->setting.flag & iki_read_main_flag_at_d) && (main->setting.flag & iki_read_main_flag_line_d)) {
+ if ((main->setting.flag & iki_read_main_flag_object_d) && main->setting.line) {
+ main->setting.state.status = F_data_not;
+
+ return;
+ }
+ }
+
f_number_unsigned_t i = 0;
if (main->setting.flag & iki_read_main_flag_name_d) {
f_number_unsigned_t j = 0;
f_number_unsigned_t matches = 0;
- uint8_t unmatched = F_true;
+ uint8_t unmatched = 0x1; // 0x1 = unmatched, 0x2 = line break.
if (!(main->setting.flag & iki_read_main_flag_total_d)) {
f_file_stream_lock(main->program.output.to);
return;
}
- // The variable parts, when not using --wrap, each is represented on its own line.
- if (main->setting.flag & iki_read_main_flag_line_d) {
- if (i < main->setting.line) continue;
- if (i > main->setting.line) break;
- }
-
for (j = 0; j < main->setting.names.used; ++j) {
if (iki_read_signal_check(main)) {
}
if (f_compare_dynamic_partial_string(main->setting.names.array[j].string, main->cache.buffer, main->setting.names.array[j].used, data->vocabulary.array[i]) == F_equal_to) {
- unmatched = F_false;
+ unmatched &= ~0x1;
if (main->setting.flag & iki_read_main_flag_at_d) {
if (matches < main->setting.at) {
}
}
} // for
+
+ if (unmatched & 0x2) break;
} // for
if (main->setting.flag & iki_read_main_flag_total_d) {
f_file_stream_unlock(main->program.output.to);
}
- main->setting.state.status = unmatched ? F_data_not : F_okay;
+ main->setting.state.status = (unmatched & 0x1) ? F_data_not : F_okay;
}
else {
if (data->variable.used) {