mirror of
https://github.com/johnkerl/miller.git
synced 2026-08-04 21:43:38 +00:00
neaten
This commit is contained in:
parent
09532d8fe8
commit
9bf2e5fe5c
5 changed files with 172 additions and 238 deletions
|
|
@ -139,7 +139,6 @@ char* mlr_alloc_read_line_single_delimiter(
|
|||
FILE* fp,
|
||||
int delimiter,
|
||||
size_t* pold_then_new_strlen,
|
||||
size_t* pnew_linecap,
|
||||
int do_auto_line_term,
|
||||
context_t* pctx)
|
||||
{
|
||||
|
|
@ -191,7 +190,6 @@ char* mlr_alloc_read_line_single_delimiter(
|
|||
linelen = 0;
|
||||
}
|
||||
*pold_then_new_strlen = linelen;
|
||||
*pnew_linecap = linecap;
|
||||
|
||||
return line;
|
||||
}
|
||||
|
|
@ -201,8 +199,7 @@ char* mlr_alloc_read_line_multiple_delimiter(
|
|||
FILE* fp,
|
||||
char* delimiter,
|
||||
int delimiter_length,
|
||||
size_t* pold_then_new_strlen,
|
||||
size_t* pnew_linecap)
|
||||
size_t* pold_then_new_strlen)
|
||||
{
|
||||
size_t linecap = power_of_two_above(*pold_then_new_strlen);
|
||||
char* line = mlr_malloc_or_die(linecap);
|
||||
|
|
@ -255,7 +252,6 @@ char* mlr_alloc_read_line_multiple_delimiter(
|
|||
linelen = 0;
|
||||
}
|
||||
*pold_then_new_strlen = linelen;
|
||||
*pnew_linecap = linecap;
|
||||
|
||||
return line;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@ char* mlr_alloc_read_line_single_delimiter(
|
|||
FILE* fp,
|
||||
int delimiter,
|
||||
size_t* pold_then_new_strlen,
|
||||
size_t* pnew_linecap,
|
||||
int do_auto_line_term,
|
||||
context_t* pctx);
|
||||
|
||||
|
|
@ -51,7 +50,6 @@ char* mlr_alloc_read_line_multiple_delimiter(
|
|||
FILE* fp,
|
||||
char* delimiter,
|
||||
int delimiter_length,
|
||||
size_t* pold_then_new_strlen,
|
||||
size_t* pnew_linecap);
|
||||
size_t* pold_then_new_strlen);
|
||||
|
||||
#endif // LINE_READERS_H
|
||||
|
|
|
|||
|
|
@ -97,6 +97,16 @@ static lrec_t* lrec_reader_stdio_dkvp_process_single_irs_single_others_auto_line
|
|||
FILE* input_stream = pvhandle;
|
||||
lrec_reader_stdio_dkvp_state_t* pstate = pvstate;
|
||||
int line_length;
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
// xxx init pstate->line_length @ prev
|
||||
//char* line = mlr_alloc_read_line_single_delimiter(input_stream, pstate->irs[0],
|
||||
// &pstate->line_length, xxxnolinecap, TRUE, pctx);
|
||||
// pnew_linecap,
|
||||
// do_auto_line_term,
|
||||
// pctx);
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
char* line = mlr_get_cline_with_length(input_stream, pstate->irs[0], &line_length);
|
||||
if (line == NULL) {
|
||||
return NULL;
|
||||
|
|
|
|||
12
c/todo.txt
12
c/todo.txt
|
|
@ -39,15 +39,9 @@ MSYS2 TO-DO
|
|||
! msys2 / pacman -S / etc @ appveyor
|
||||
|
||||
* getdelim replacement:
|
||||
- avoid windows-compat problem by roll-my-own
|
||||
- don't need getdelim's reuse case: always alloc
|
||||
- reduce the number of functions in the callstack
|
||||
- getdelim1 vs. getdelimn, all but identical. UT against one another in the n==1 case.
|
||||
- always return len & linecap
|
||||
- simplify reached-eof and already-at-eof semantics
|
||||
- reuse linecap on subsequent calls. power of two above last readlen.
|
||||
- work autodetect deeper into the callstack
|
||||
- UTs
|
||||
- comments @ header file
|
||||
- push it into the stdio lrec readers
|
||||
- rid of local_getdelim
|
||||
|
||||
k get_unlocked / getc:
|
||||
k @ mlr_arch.h: ifdef MSYS2 define getc_unlocked(x) getc(x)
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ static char* test_mlr_alloc_read_line_single_delimiter() {
|
|||
char* contents = NULL;
|
||||
char* line = NULL;
|
||||
size_t linelen = 0;
|
||||
size_t linecap = 0;
|
||||
int do_auto_line_term = FALSE;
|
||||
context_t* pctx = NULL;
|
||||
|
||||
|
|
@ -54,16 +53,16 @@ static char* test_mlr_alloc_read_line_single_delimiter() {
|
|||
contents = "";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
|
||||
// Read past EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
mu_assert_lf(line == NULL);
|
||||
|
||||
fclose(fp);
|
||||
|
|
@ -73,22 +72,20 @@ static char* test_mlr_alloc_read_line_single_delimiter() {
|
|||
contents = "\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -97,22 +94,20 @@ static char* test_mlr_alloc_read_line_single_delimiter() {
|
|||
contents = "abc\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -121,30 +116,27 @@ static char* test_mlr_alloc_read_line_single_delimiter() {
|
|||
contents = "abc\n\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -153,30 +145,27 @@ static char* test_mlr_alloc_read_line_single_delimiter() {
|
|||
contents = "\nabc\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -185,30 +174,27 @@ static char* test_mlr_alloc_read_line_single_delimiter() {
|
|||
contents = "\nabc";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -226,7 +212,6 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
char* contents = NULL;
|
||||
char* line = NULL;
|
||||
size_t linelen = 0;
|
||||
size_t linecap = 0;
|
||||
int do_auto_line_term = TRUE;
|
||||
context_t ctx;
|
||||
context_t* pctx = &ctx;
|
||||
|
|
@ -236,18 +221,18 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read past EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
mu_assert_lf(line == NULL);
|
||||
|
||||
fclose(fp);
|
||||
|
|
@ -258,24 +243,22 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
|
|
@ -287,24 +270,22 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\r\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\r\n"));
|
||||
|
||||
|
|
@ -316,24 +297,22 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
|
|
@ -345,24 +324,22 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\r\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\r\n"));
|
||||
|
||||
|
|
@ -374,34 +351,31 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -411,34 +385,31 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -448,34 +419,31 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -485,34 +453,31 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -522,34 +487,31 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\r\n"));
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\r\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -559,34 +521,31 @@ static char* test_mlr_alloc_read_line_single_delimiter_with_autodetect() {
|
|||
path = write_temp_file_or_die(contents);
|
||||
context_init_from_first_file_name(pctx, "fake-file-name");
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\r\n"));
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
mu_assert_lf(pctx->auto_line_term_detected == TRUE);
|
||||
mu_assert_lf(streq(pctx->auto_line_term, "\r\n"));
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, &linecap, do_auto_line_term, pctx);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_single_delimiter(fp, delimiter, &linelen, do_auto_line_term, pctx);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -605,22 +564,21 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
char* contents = NULL;
|
||||
char* line = NULL;
|
||||
size_t linelen = 0;
|
||||
size_t linecap = 0;
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
contents = "";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
|
||||
// Read past EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
mu_assert_lf(line == NULL);
|
||||
|
||||
fclose(fp);
|
||||
|
|
@ -630,22 +588,20 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
contents = "xy\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -654,22 +610,20 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
contents = "axy\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "a"));
|
||||
mu_assert_lf(linelen == strlen("a"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -678,22 +632,20 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
contents = "abcxy\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -702,30 +654,27 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
contents = "abcxy\nxy\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -734,30 +683,27 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
contents = "xy\nabcxy\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -766,30 +712,27 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
contents = "xy\nabc";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -798,30 +741,27 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
contents = "xy\nabcxy\n";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
@ -830,38 +770,34 @@ static char* test_mlr_alloc_read_line_multiple_delimiter() {
|
|||
contents = "abcxy\nxy\ndef";
|
||||
path = write_temp_file_or_die(contents);
|
||||
fp = fopen_or_die(path);
|
||||
linelen = linecap = 4;
|
||||
linelen = 4;
|
||||
my_print_string(contents);
|
||||
|
||||
// Read line 1
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "abc"));
|
||||
mu_assert_lf(linelen == strlen("abc"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 2
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, ""));
|
||||
mu_assert_lf(linelen == strlen(""));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read line 3
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line != NULL);
|
||||
mu_assert_lf(streq(line, "def"));
|
||||
mu_assert_lf(linelen == strlen("def"));
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
// Read to EOF
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen, &linecap);
|
||||
printf("linelen=%d linecap=%d line=\"%s\"\n", (int)linelen, (int)linecap, line);
|
||||
line = mlr_alloc_read_line_multiple_delimiter(fp, delimiter, delimiter_length, &linelen);
|
||||
printf("linelen=%d line=\"%s\"\n", (int)linelen, line);
|
||||
mu_assert_lf(line == NULL);
|
||||
mu_assert_lf(linecap > linelen);
|
||||
|
||||
fclose(fp);
|
||||
unlink_file_or_die(path);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue