X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdevind.c;h=9a712e273707b9b1959dddc12c9be8de3af7b915;hb=a7cc8b259f0fe963aa30d4e64f7d39551ded1454;hp=834e96e03be7c1edbd8efcaac88f5ea060193294;hpb=205ac3afa4c2b19c85819d8695abf3975bb11807;p=pspp-builds.git diff --git a/src/devind.c b/src/devind.c index 834e96e0..9a712e27 100644 --- a/src/devind.c +++ b/src/devind.c @@ -220,7 +220,7 @@ devind_option (struct outp_driver *this, const char *key, const struct string *v break; case 1: free (x->file.filename); - x->file.filename = xstrdup (ds_value (val)); + x->file.filename = xstrdup (ds_c_str (val)); break; default: assert (0); @@ -260,7 +260,7 @@ devind_close_page (struct outp_driver *this) static void output_tab_table (struct outp_driver *, struct tab_table *); static void -devind_submit (struct outp_driver *this, struct som_table *s) +devind_submit (struct outp_driver *this, struct som_entity *s) { extern struct som_table_class tab_table_class; struct devind_driver_ext *x = this->ext; @@ -272,10 +272,10 @@ devind_submit (struct outp_driver *this, struct som_table *s) return; } - if (s->class == &tab_table_class) + assert (s->class == &tab_table_class); + + if ( s->type == SOM_TABLE ) output_tab_table (this, s->ext); - else - assert (0); } /* Write string S of length LEN to file F, escaping characters as @@ -320,7 +320,7 @@ output_tab_table (struct outp_driver *this, struct tab_table *t) if (t->nr == 1 && t->nc == 1) { fputs ("p:", x->file.file); - escape_string (x->file.file, ls_value (t->cc), ls_length (t->cc)); + escape_string (x->file.file, ls_c_str (t->cc), ls_length (t->cc)); putc ('\n', x->file.file); return; @@ -347,7 +347,7 @@ output_tab_table (struct outp_driver *this, struct tab_table *t) if (!ls_empty_p (&t->title)) { putc ('T', x->file.file); - escape_string (x->file.file, ls_value (&t->title), + escape_string (x->file.file, ls_c_str (&t->title), ls_length (&t->title)); putc ('\n', x->file.file); } @@ -367,7 +367,7 @@ output_tab_table (struct outp_driver *this, struct tab_table *t) for (c = 0; c < t->nc; c++, ct++) { - struct len_string *cc; + struct fixed_string *cc; struct tab_joined_cell *j; if (*ct == TAB_EMPTY) @@ -376,7 +376,7 @@ output_tab_table (struct outp_driver *this, struct tab_table *t) cc = t->cc + c + r * t->nc; if (*ct & TAB_JOIN) { - j = (struct tab_joined_cell *) ls_value (cc); + j = (struct tab_joined_cell *) ls_c_str (cc); cc = &j->contents; if (c != j->x1 || r != j->y1) continue; @@ -399,7 +399,7 @@ output_tab_table (struct outp_driver *this, struct tab_table *t) else putc ('c', x->file.file); putc ('t', x->file.file); - escape_string (x->file.file, ls_value (cc), ls_length (cc)); + escape_string (x->file.file, ls_c_str (cc), ls_length (cc)); putc ('\n', x->file.file); } } @@ -474,4 +474,7 @@ struct outp_class devind_class = NULL, NULL, NULL, + + NULL, + NULL, };