X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Fprint.c;h=061aafc628f89fb56dadb55b3d4138badf316063;hb=5729150f2c4a00caf688e7e3b514b10b1987e211;hp=52828400f9382194b4e3c25f0e3f95f06612b7d2;hpb=8444d8d47de5e5f8d076b6f43f73c2c29494031e;p=pspp diff --git a/src/language/data-io/print.c b/src/language/data-io/print.c index 52828400f9..061aafc628 100644 --- a/src/language/data-io/print.c +++ b/src/language/data-io/print.c @@ -20,21 +20,26 @@ /* FIXME: seems like a lot of code duplication with data-list.c. */ #include -#include + #include -#include + #include +#include +#include +#include #include -#include #include -#include -#include #include +#include #include +#include +#include +#include +#include +#include #include #include #include -#include #include "gettext.h" #define _(msgid) gettext (msgid) @@ -137,7 +142,7 @@ static int internal_cmd_print (int f) { int table = 0; /* Print table? */ - struct print_trns *trns; /* malloc()'d transformation. */ + struct print_trns *trns = NULL; /* malloc()'d transformation. */ struct file_handle *fh = NULL; /* Fill in prt to facilitate error-handling. */ @@ -346,7 +351,7 @@ parse_string_argument (void) { fx.spec.type = PRT_CONST; fx.spec.fc = fx.sc - 1; - fx.spec.u.c = xstrdup (ds_c_str (&tokstr)); + fx.spec.u.c = ds_xstrdup (&tokstr); lex_get (); /* Parse the included column range. */ @@ -846,13 +851,6 @@ dump_table (const struct file_handle *fh) tab_submit (t); } -/* PORTME: The number of characters in a line terminator. */ -#ifdef __MSDOS__ -#define LINE_END_WIDTH 2 /* \r\n */ -#else -#define LINE_END_WIDTH 1 /* \n */ -#endif - /* Calculates the maximum possible line width and allocates a buffer big enough to contain it */ static void @@ -891,7 +889,7 @@ alloc_line (void) if (pot_w > w) w = pot_w; } - prt.max_width = w + LINE_END_WIDTH + 1; + prt.max_width = w + 2; prt.line = xmalloc (prt.max_width); } @@ -933,13 +931,7 @@ print_trns_proc (void *trns_, struct ccase *c, int case_num UNUSED) { if ((t->options & PRT_CMD_MASK) == PRT_PRINT || !(t->options & PRT_BINARY)) - { - /* PORTME: Line ends. */ -#ifdef __MSDOS__ - buf[len++] = '\r'; -#endif - buf[len++] = '\n'; - } + buf[len++] = '\n'; dfm_put_record (t->writer, buf, len); } @@ -975,7 +967,7 @@ print_trns_proc (void *trns_, struct ccase *c, int case_num UNUSED) return TRNS_CONTINUE; } -/* Frees all the data inside print_trns T. Does not free T. */ +/* Frees all the data inside print_trns PRT. Does not free PRT. */ static bool print_trns_free (void *prt_) { @@ -1005,7 +997,6 @@ print_trns_free (void *prt_) if (prt->writer != NULL) ok = dfm_close_writer (prt->writer); free (prt->line); - free (prt); return ok; }