X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fspreadsheet-reader.c;h=294b93cec5d3f5190d5bddde902ea6e0c0d273d5;hb=20818d7ae4bc4d4256d78683c9eb8d26416acd30;hp=fc1dfa8dd5dde8d4b980ef784bf2ebc2f507f023;hpb=920ccda5e43b81b2118caf37784f6edaa568e246;p=pspp diff --git a/src/data/spreadsheet-reader.c b/src/data/spreadsheet-reader.c index fc1dfa8dd5..294b93cec5 100644 --- a/src/data/spreadsheet-reader.c +++ b/src/data/spreadsheet-reader.c @@ -35,12 +35,16 @@ spreadsheet_destroy (struct spreadsheet *s) { switch (s->type) { +#ifdef ODF_READ_SUPPORT case SPREADSHEET_ODS: ods_destroy (s); break; +#endif +#ifdef GNM_READ_SUPPORT case SPREADSHEET_GNUMERIC: gnumeric_destroy (s); break; +#endif default: NOT_REACHED (); break; @@ -49,12 +53,17 @@ spreadsheet_destroy (struct spreadsheet *s) struct casereader * -spreadsheet_make_reader (struct spreadsheet *s, const struct spreadsheet_read_options *opts) +spreadsheet_make_reader (struct spreadsheet *s UNUSED, + const struct spreadsheet_read_options *opts UNUSED) { +#ifdef ODS_READ_SUPPORT if ( s->type == SPREADSHEET_ODS) return ods_make_reader (s, opts); +#endif +#ifdef GNM_READ_SUPPORT if ( s->type == SPREADSHEET_GNUMERIC) return gnumeric_make_reader (s, opts); +#endif return NULL; } @@ -62,11 +71,14 @@ spreadsheet_make_reader (struct spreadsheet *s, const struct spreadsheet_read_op const char * spreadsheet_get_sheet_name (struct spreadsheet *s, int n) { +#ifdef ODF_READ_SUPPORT if ( s->type == SPREADSHEET_ODS) return ods_get_sheet_name (s, n); - +#endif +#ifdef GNM_READ_SUPPORT if ( s->type == SPREADSHEET_GNUMERIC) return gnumeric_get_sheet_name (s, n); +#endif return NULL; } @@ -74,11 +86,15 @@ spreadsheet_get_sheet_name (struct spreadsheet *s, int n) char * spreadsheet_get_sheet_range (struct spreadsheet *s, int n) { +#ifdef ODF_READ_SUPPORT if ( s->type == SPREADSHEET_ODS) return ods_get_sheet_range (s, n); +#endif +#ifdef GNM_READ_SUPPORT if ( s->type == SPREADSHEET_GNUMERIC) return gnumeric_get_sheet_range (s, n); +#endif return NULL; } @@ -169,25 +185,34 @@ int_to_ps26 (int i) return ret; } + char * -create_cell_ref (int col0, int row0, int coli, int rowi) +create_cell_ref (int col0, int row0) { char *cs0 ; - char *csi ; char *s ; if ( col0 < 0) return NULL; - if ( rowi < 0) return NULL; - if ( coli < 0) return NULL; if ( row0 < 0) return NULL; cs0 = int_to_ps26 (col0); - csi = int_to_ps26 (coli); - s = c_xasprintf ("%s%d:%s%d", - cs0, row0 + 1, - csi, rowi + 1); + s = c_xasprintf ("%s%d", cs0, row0 + 1); + free (cs0); - free (csi); + + return s; +} + +char * +create_cell_range (int col0, int row0, int coli, int rowi) +{ + char *s0 = create_cell_ref (col0, row0); + char *si = create_cell_ref (coli, rowi); + + char *s = c_xasprintf ("%s:%s", s0, si); + + free (s0); + free (si); return s; }