X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fascii.c;h=e4b10270dc25cac3d3a01360da462ed598be31ea;hb=b74d09af5e07f954c18e7cdb8aca3af47fa10208;hp=8f960fe308b7ff9c017fa450ce249fcb064c0667;hpb=75862bc63003b33702bfd6844b8a4d1c632488b3;p=pspp-builds.git diff --git a/src/output/ascii.c b/src/output/ascii.c index 8f960fe3..e4b10270 100644 --- a/src/output/ascii.c +++ b/src/output/ascii.c @@ -122,7 +122,7 @@ static bool handle_option (struct outp_driver *this, const char *key, const struct string *val); static bool -ascii_open_driver (struct outp_driver *this, const struct string *options) +ascii_open_driver (struct outp_driver *this, struct substring options) { struct ascii_driver_ext *x; int i; @@ -274,7 +274,7 @@ handle_option (struct outp_driver *this, const char *key, int subcat; const char *value; - value = ds_c_str (val); + value = ds_cstr (val); if (!strncmp (key, "box[", 4)) { char *tail; @@ -537,7 +537,7 @@ delineate (struct outp_driver *this, const struct outp_text *text, bool draw, int max_width; int height_left; - const char *cp = ls_c_str (&text->string); + const char *cp = ss_data (text->string); max_width = 0; height_left = text->v; @@ -549,7 +549,7 @@ delineate (struct outp_driver *this, const struct outp_text *text, bool draw, const char *end; /* Initially the line is up to text->h characters long. */ - chars_left = ls_end (&text->string) - cp; + chars_left = ss_end (text->string) - cp; if (chars_left == 0) break; line_len = MIN (chars_left, text->h); @@ -560,7 +560,7 @@ delineate (struct outp_driver *this, const struct outp_text *text, bool draw, line_len = end - cp; /* Don't cut off words if it can be avoided. */ - if (cp + line_len < ls_end (&text->string)) + if (cp + line_len < ss_end (text->string)) { size_t space_len = line_len; while (space_len > 0 && !isspace ((unsigned char) cp[space_len])) @@ -584,7 +584,7 @@ delineate (struct outp_driver *this, const struct outp_text *text, bool draw, /* Next line. */ cp += line_len; - if (cp < ls_end (&text->string) && isspace ((unsigned char) *cp)) + if (cp < ss_end (text->string) && isspace ((unsigned char) *cp)) cp++; } @@ -622,20 +622,20 @@ output_line (struct outp_driver *this, const struct line *line, for (length = line->char_cnt; length-- > 0; s++) if (*s & ATTR_BOX) - ds_puts (out, ext->box[*s & 0xff]); + ds_put_cstr (out, ext->box[*s & 0xff]); else { if (*s & ATTR_EMPHASIS) { if (ext->emphasis == EMPH_BOLD) { - ds_putc (out, *s); - ds_putc (out, '\b'); + ds_put_char (out, *s); + ds_put_char (out, '\b'); } else if (ext->emphasis == EMPH_UNDERLINE) - ds_puts (out, "_\b"); + ds_put_cstr (out, "_\b"); } - ds_putc (out, *s); + ds_put_char (out, *s); } } @@ -643,7 +643,7 @@ static void append_lr_justified (struct string *out, int width, const char *left, const char *right) { - ds_putc_multiple (out, ' ', width); + ds_put_char_multiple (out, ' ', width); if (left != NULL) { size_t length = MIN (strlen (left), width); @@ -654,7 +654,7 @@ append_lr_justified (struct string *out, int width, size_t length = MIN (strlen (right), width); memcpy (ds_end (out) - length, right, length); } - ds_putc (out, '\n'); + ds_put_char (out, '\n'); } static void @@ -672,9 +672,9 @@ ascii_close_page (struct outp_driver *this) struct string out; int line_num; - ds_init (&out); + ds_init_empty (&out); - ds_putc_multiple (&out, '\n', x->top_margin); + ds_put_char_multiple (&out, '\n', x->top_margin); if (x->headers) { char *r1, *r2; @@ -684,7 +684,7 @@ ascii_close_page (struct outp_driver *this) append_lr_justified (&out, this->width, outp_title, r1); append_lr_justified (&out, this->width, outp_subtitle, r2); - ds_putc (&out, '\n'); + ds_put_char (&out, '\n'); free (r1); free (r2); @@ -708,13 +708,13 @@ ascii_close_page (struct outp_driver *this) if (line_num < x->line_cap) output_line (this, &x->lines[line_num], &out); - ds_putc (&out, '\n'); + ds_put_char (&out, '\n'); dump_output (this, &out); } - ds_putc_multiple (&out, '\n', x->bottom_margin); + ds_put_char_multiple (&out, '\n', x->bottom_margin); if (x->paginate) - ds_putc (&out, '\f'); + ds_put_char (&out, '\f'); dump_output (this, &out); ds_destroy (&out);