Loading client/mysqltest.c +20 −3 Original line number Diff line number Diff line Loading @@ -2178,7 +2178,7 @@ void do_cat_file(struct st_command *command) { int fd; uint len; byte buff[512]; char buff[512]; static DYNAMIC_STRING ds_filename; const struct command_arg cat_file_args[] = { "filename", ARG_STRING, TRUE, &ds_filename, "File to read from" Loading @@ -2195,10 +2195,27 @@ void do_cat_file(struct st_command *command) if ((fd= my_open(ds_filename.str, O_RDONLY, MYF(0))) < 0) die("Failed to open file %s", ds_filename.str); while((len= my_read(fd, &buff, while((len= my_read(fd, (byte*)&buff, sizeof(buff), MYF(0))) > 0) { dynstr_append_mem(&ds_res, buff, len); char *p= buff, *start= buff; while (p < buff+len) { /* Convert cr/lf to lf */ if (*p == '\r' && *(p+1) && *(p+1)== '\n') { /* Add fake newline instead of cr and output the line */ *p= '\n'; p++; /* Step past the "fake" newline */ dynstr_append_mem(&ds_res, start, p-start); p++; /* Step past the "fake" newline */ start= p; } else p++; } /* Output any chars that migh be left */ dynstr_append_mem(&ds_res, start, p-start); } my_close(fd, MYF(0)); dynstr_free(&ds_filename); Loading Loading
client/mysqltest.c +20 −3 Original line number Diff line number Diff line Loading @@ -2178,7 +2178,7 @@ void do_cat_file(struct st_command *command) { int fd; uint len; byte buff[512]; char buff[512]; static DYNAMIC_STRING ds_filename; const struct command_arg cat_file_args[] = { "filename", ARG_STRING, TRUE, &ds_filename, "File to read from" Loading @@ -2195,10 +2195,27 @@ void do_cat_file(struct st_command *command) if ((fd= my_open(ds_filename.str, O_RDONLY, MYF(0))) < 0) die("Failed to open file %s", ds_filename.str); while((len= my_read(fd, &buff, while((len= my_read(fd, (byte*)&buff, sizeof(buff), MYF(0))) > 0) { dynstr_append_mem(&ds_res, buff, len); char *p= buff, *start= buff; while (p < buff+len) { /* Convert cr/lf to lf */ if (*p == '\r' && *(p+1) && *(p+1)== '\n') { /* Add fake newline instead of cr and output the line */ *p= '\n'; p++; /* Step past the "fake" newline */ dynstr_append_mem(&ds_res, start, p-start); p++; /* Step past the "fake" newline */ start= p; } else p++; } /* Output any chars that migh be left */ dynstr_append_mem(&ds_res, start, p-start); } my_close(fd, MYF(0)); dynstr_free(&ds_filename); Loading