X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fspreadsheet-reader.c;h=3c5de65822fa5f231fa6d09d0885ba54bcffca52;hb=815b194a23ee63977333c1e9d8fe11c2ccc7edd1;hp=76dbe8cd11f2fdec1f8f35f8eb2ed63f6d81173a;hpb=82c1097ab658e8c13ab3ad439970148defba6e19;p=pspp diff --git a/src/data/spreadsheet-reader.c b/src/data/spreadsheet-reader.c index 76dbe8cd11..3c5de65822 100644 --- a/src/data/spreadsheet-reader.c +++ b/src/data/spreadsheet-reader.c @@ -29,22 +29,32 @@ #include #include +#ifdef ODF_READ_SUPPORT +const bool ODF_READING_SUPPORTED = true; +#else +const bool ODF_READING_SUPPORTED = false; +#endif + +#ifdef GNM_READ_SUPPORT +const bool GNM_READING_SUPPORTED = true; +#else +const bool GNM_READING_SUPPORTED = false; +#endif void spreadsheet_destroy (struct spreadsheet *s) { switch (s->type) { -#ifdef ODF_READ_SUPPORT case SPREADSHEET_ODS: + assert (ODF_READING_SUPPORTED); ods_destroy (s); break; -#endif -#ifdef GNM_READ_SUPPORT + case SPREADSHEET_GNUMERIC: + assert (GNM_READING_SUPPORTED); gnumeric_destroy (s); break; -#endif default: NOT_REACHED (); break; @@ -53,16 +63,16 @@ 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, + const struct spreadsheet_read_options *opts) { -#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 + if (ODF_READING_SUPPORTED) + if ( s->type == SPREADSHEET_ODS) + return ods_make_reader (s, opts); + + if (GNM_READING_SUPPORTED) + if ( s->type == SPREADSHEET_GNUMERIC) + return gnumeric_make_reader (s, opts); return NULL; } @@ -70,30 +80,28 @@ 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 + if (ODF_READING_SUPPORTED) + if ( s->type == SPREADSHEET_ODS) + return ods_get_sheet_name (s, n); + + if (GNM_READING_SUPPORTED) + if ( s->type == SPREADSHEET_GNUMERIC) + return gnumeric_get_sheet_name (s, n); return NULL; } + 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 + if (ODF_READING_SUPPORTED) + if ( s->type == SPREADSHEET_ODS) + return ods_get_sheet_range (s, n); -#ifdef GNM_READ_SUPPORT - if ( s->type == SPREADSHEET_GNUMERIC) - return gnumeric_get_sheet_range (s, n); -#endif + if (GNM_READING_SUPPORTED) + if ( s->type == SPREADSHEET_GNUMERIC) + return gnumeric_get_sheet_range (s, n); return NULL; }