X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fformat.h;h=988c8f8c6ae982941954de882d346b7a2c6b4a9b;hb=d7b5d9144738a5a8989d45a01f4e458a78b68c0b;hp=c60e0456164adfa164d04345b39f0d8ea7810a10;hpb=d807ad29cc0d3caa4f0e04ee4b75c70a225cfeaf;p=pspp diff --git a/src/format.h b/src/format.h index c60e045616..988c8f8c6a 100644 --- a/src/format.h +++ b/src/format.h @@ -14,13 +14,16 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #if !format_h #define format_h 1 /* Display format types. */ + +#include + /* See the definitions of these functions and variables when modifying this list: misc.c:convert_fmt_ItoO() @@ -68,6 +71,24 @@ struct fmt_spec int d; /* Number of implied decimal places. */ }; + +enum alignment + { + ALIGN_LEFT = 0, + ALIGN_RIGHT = 1, + ALIGN_CENTRE = 2 + }; + + +enum measure + { + MEASURE_NOMINAL=1, + MEASURE_ORDINAL=2, + MEASURE_SCALE=3 + }; + + + /* Descriptions of all the display formats above. */ extern struct fmt_desc formats[]; @@ -83,11 +104,16 @@ enum fmt_parse_flags FMTP_SUPPRESS_ERRORS = 002 /* 1=Do not emit error messages. */ }; +/* Common formats. */ +extern const struct fmt_spec f8_2; /* F8.2. */ + int parse_format_specifier (struct fmt_spec *input, enum fmt_parse_flags); int parse_format_specifier_name (const char **cp, enum fmt_parse_flags); int check_input_specifier (const struct fmt_spec *spec, int emit_error); int check_output_specifier (const struct fmt_spec *spec, int emit_error); -int check_string_specifier (const struct fmt_spec *spec, int min_len); +bool check_specifier_type (const struct fmt_spec *, int type, bool emit_error); +bool check_specifier_width (const struct fmt_spec *, + int width, bool emit_error); void convert_fmt_ItoO (const struct fmt_spec *input, struct fmt_spec *output); int get_format_var_width (const struct fmt_spec *); int parse_string_as_format (const char *s, int len, const struct fmt_spec *fp, @@ -96,5 +122,7 @@ int translate_fmt (int spss); void data_out (char *s, const struct fmt_spec *fp, const union value *v); char *fmt_to_string (const struct fmt_spec *); void num_to_string (double v, char *s, int w, int d); +struct fmt_spec make_input_format (int type, int w, int d); +struct fmt_spec make_output_format (int type, int w, int d); #endif /* !format_h */