f_range_t found_object = f_range_t_initialize;
f_ranges_t found = f_ranges_t_initialize;
uint8_t quote = 0;
- f_number_unsigned_t line = 0;
f_number_unsigneds_t delimits = f_number_unsigneds_t_initialize;
f_string_dynamic_t result_string = f_string_dynamic_t_initialize;
f_string_dynamic_t delimit_string = f_string_dynamic_t_initialize;
f_status_t status_object = F_okay;
- for (;; ++line) {
+ for (f_number_unsigned_t line = 0; ; ++line) {
max = 255;
max = 255;
result = getline(&line_content, &max, file_contents);
+
+ if (result == -1) {
+ printf("[ -------> ] --- [00] Failure loading line line %lu for file './data/tests/strings/extended-combining_read.txt', result = %lu.\n", line, result);
+ }
+
assert_return_code(result, 0);
// The newline is copied by getline(), and so remove that newline before comparing.
// When matches is 2, then this matches both object and content.
if (matches == 2) {
if (!(state.status == F_fss_found_object)) {
- printf("[ -------> ] --- [00] Failure with line (%lu) '%s', matches=%d, status=%u, expected %u.\n", line, line_content, matches, state.status, F_fss_found_object);
+ printf("[ -------> ] --- [01] Failure with line (%lu) '%s', matches=%d, status=%u, expected %u.\n", line, line_content, matches, state.status, F_fss_found_object);
}
assert_true(state.status == F_fss_found_object);
// When matches is 1, then this matches only object.
else {
if (!(state.status == F_fss_found_object_content_not)) {
- printf("[ -------> ] --- [01] Failure with line (%lu) '%s', matches=%d, status=%u, expected %u.\n", line, line_content, matches, state.status, F_fss_found_object_content_not);
+ printf("[ -------> ] --- [02] Failure with line (%lu) '%s', matches=%d, status=%u, expected %u.\n", line, line_content, matches, state.status, F_fss_found_object_content_not);
}
assert_true(state.status == F_fss_found_object_content_not);
else {
// This is currently not supported.
+ printf("[ -------> ] --- [03] Failure line %lu matches of 0 is not supported.\n", line);
assert_true(F_false);
}
if (status_object == F_fss_found_object) {
if (status_object != F_fss_found_object) {
- printf("[ -------> ] --- [02] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_fss_found_object);
+ printf("[ -------> ] --- [04] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_fss_found_object);
}
assert_int_equal(state.status, F_fss_found_content);
}
else {
if (state.status != F_data_not) {
- printf("[ -------> ] --- [03] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_data_not);
+ printf("[ -------> ] --- [05] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_data_not);
}
assert_int_equal(state.status, F_data_not);
if (matches == 2) {
if (state.status == F_fss_found_content) {
if (!found.used) {
- printf("[ -------> ] --- [04] Failure with line (%lu) '%s', expected found.used <> 0.\n", line, line_content);
+ printf("[ -------> ] --- [06] Failure with line (%lu) '%s', expected found.used <> 0.\n", line, line_content);
}
assert_true(found.used);
const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string);
if (status != F_okay) {
- printf("[ -------> ] --- [05] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_okay);
+ printf("[ -------> ] --- [07] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_okay);
}
assert_int_equal(status, F_okay);
const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found.array[0], &result_string);
if (!(status == F_okay || status == F_data_not_eos)) {
- printf("[ -------> ] --- [06] Failure with line (%lu) '%s', status=%u, expected %u or %#0x.\n", line, line_content, status, F_okay, F_data_not_eos);
+ printf("[ -------> ] --- [08] Failure with line (%lu) '%s', status=%u, expected %u or %#0x.\n", line, line_content, status, F_okay, F_data_not_eos);
}
assert_true(status == F_okay || status == F_data_not_eos);
const f_status_t status = f_string_dynamic_terminate_after(&result_string);
if (status != F_okay) {
- printf("[ -------> ] --- [07] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_okay);
+ printf("[ -------> ] --- [09] Failure with line (%lu) '%s', expected %u.\n", line, line_content, F_okay);
}
assert_int_equal(status, F_okay);
}
if (strcmp((const char *) result_string.string, (const char *) line_content)) {
- printf("[ -------> ] --- [08] Failure with line (%lu) '%s', got '%s', expected '%s'.\n", line, line_content, result_string.string, line_content);
+ printf("[ -------> ] --- [10] Failure with line (%lu) '%s', got '%s', expected '%s'.\n", line, line_content, result_string.string, line_content);
}
assert_string_equal(result_string.string, line_content);
}
else {
if (found.used) {
- printf("[ -------> ] --- [09] Failure with line (%lu) '%s', expected found.used == 0.\n", line, line_content);
+ printf("[ -------> ] --- [11] Failure with line (%lu) '%s', expected found.used == 0.\n", line, line_content);
}
assert_true(!found.used);
f_string_dynamic_t result_string = f_string_dynamic_t_initialize;
f_string_dynamic_t delimit_string = f_string_dynamic_t_initialize;
- for (;;) {
+ for (f_number_unsigned_t line = 0; ; ++line) {
max = 255;
max = 255;
result = getline(&line_object, &max, file_objects);
+
+ if (result == -1) {
+ printf("[ -------> ] --- [00] Failure loading line line %lu for file './data/tests/strings/basic-combining_read.txt', result = %lu.\n", line, result);
+ }
+
assert_return_code(result, 0);
// The newline is copied by getline(), and so remove that newline before comparing.
// When matches is 2, then this matches both object and content.
if (matches == 2) {
if (!(state.status == F_fss_found_object)) {
- printf("[ -------> ] --- [00] Failure with line '%s', matches=%d, status=%u.\n", line_object, matches, state.status);
+ printf("[ -------> ] --- [01] Failure with line '%s', matches=%d, status=%u.\n", line_object, matches, state.status);
}
assert_true(state.status == F_fss_found_object);
if (!(found.start <= found.stop)) {
- printf("[ -------> ] --- [01] Failure with line '%s', matches=%d, found=(%lu, %lu).\n", line_object, matches, found.start, found.stop);
+ printf("[ -------> ] --- [02] Failure with line '%s', matches=%d, found=(%lu, %lu).\n", line_object, matches, found.start, found.stop);
}
assert_true(found.start <= found.stop);
// When matches is 1, then this matches only object.
else {
if (!(state.status == F_fss_found_object_content_not)) {
- printf("[ -------> ] --- [02] Failure with line '%s', matches=%d, status=%u.\n", line_object, matches, state.status);
+ printf("[ -------> ] --- [03] Failure with line '%s', matches=%d, status=%u.\n", line_object, matches, state.status);
}
assert_true(state.status == F_fss_found_object_content_not);
else {
// This is currently not supported.
+ printf("[ -------> ] --- [04] Failure line %lu matches of 0 is not supported.\n", line);
assert_true(F_false);
}
const f_status_t status = f_string_dynamic_append(buffer_string, &delimit_string);
if (status != F_okay) {
- printf("[ -------> ] --- [03] Failure with line '%s'.\n", line_object);
+ printf("[ -------> ] --- [05] Failure with line '%s'.\n", line_object);
}
assert_int_equal(status, F_okay);
f_fss_apply_delimit(delimits, &delimit_string, &state);
if (state.status != F_okay) {
- printf("[ -------> ] --- [04] Failure with line '%s'.\n", line_object);
+ printf("[ -------> ] --- [06] Failure with line '%s'.\n", line_object);
}
assert_int_equal(state.status, F_okay);
const f_status_t status = f_string_dynamic_partial_append_nulless(delimit_string, found, &result_string);
if (!(status == F_okay || status == F_data_not_eos)) {
- printf("[ -------> ] --- [05] Failure with line '%s', status=%u.\n", line_object, status);
+ printf("[ -------> ] --- [07] Failure with line '%s', status=%u.\n", line_object, status);
}
assert_true(status == F_okay || status == F_data_not_eos);
const f_status_t status = f_string_dynamic_terminate_after(&result_string);
if (status != F_okay) {
- printf("[ -------> ] --- [06] Failure with line '%s'.\n", line_object);
+ printf("[ -------> ] --- [08] Failure with line '%s'.\n", line_object);
}
assert_int_equal(status, F_okay);
}
if (strcmp((const char *) result_string.string, (const char *) line_object)) {
- printf("[ -------> ] --- [07] Failure with line '%s'.\n", line_object);
+ printf("[ -------> ] --- [09] Failure with line '%s'.\n", line_object);
}
assert_string_equal(result_string.string, line_object);
if (file_strings) fclose(file_strings);
if (delimits.array) free(delimits.array);
+ if (line_matches) free(line_matches);
if (line_string) free(line_string);
if (line_object) free(line_object);
if (result_string.string) free(result_string.string);