X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata-in.c;h=879ad10bd4fc3442a0be3935eb7ba5b0c70875a4;hb=1f8dd363d6c20d07fcca14cb948018465fa5ed8b;hp=8f36dcb046d298c3e431b59fc53617c939ca4113;hpb=1339492699ce7e12c9bf9fa17f9d60a66024cbd1;p=pspp-builds.git diff --git a/src/data-in.c b/src/data-in.c index 8f36dcb0..879ad10b 100644 --- a/src/data-in.c +++ b/src/data-in.c @@ -26,9 +26,9 @@ #include #include #include -#include "bool.h" +#include #include "error.h" -#include "getline.h" +#include "getl.h" #include "calendar.h" #include "lexer.h" #include "magic.h" @@ -36,9 +36,11 @@ #include "settings.h" #include "str.h" #include "var.h" - -#include "debug-print.h" +#include "gettext.h" +#define _(msgid) gettext (msgid) + +#include "debug-print.h" /* Specialized error routine. */ @@ -212,9 +214,7 @@ parse_numeric (struct data_in *i) return false; } - if (have_char (i) - && (tolower (*i->s) == 'e' || tolower (*i->s) == 'd' - || (type == FMT_E && (*i->s == '+' || *i->s == '-')))) + if (have_char (i) && strchr ("eEdD-+", *i->s)) { /* Get the exponent specified after the `e' or `E'. */ long exp; @@ -457,7 +457,9 @@ parse_Z (struct data_in *i) static inline bool parse_IB (struct data_in *i) { +#ifndef WORDS_BIGENDIAN char buf[64]; +#endif const char *p; unsigned char xor; @@ -468,7 +470,7 @@ parse_IB (struct data_in *i) p = i->s; #else memcpy (buf, i->s, i->e - i->s); - mm_reverse (buf, i->e - i->s); + buf_reverse (buf, i->e - i->s); p = buf; #endif @@ -760,7 +762,7 @@ parse_enum (struct data_in *i, const char *what, if ((ep->can_abbreviate && lex_id_match_len (ep->name, strlen (ep->name), name, length)) || (!ep->can_abbreviate && length == strlen (ep->name) - && !mm_case_compare (name, ep->name, length))) + && !buf_compare_case (name, ep->name, length))) { *output = ep->value; return true; @@ -1363,6 +1365,8 @@ data_in (struct data_in *i) { const struct fmt_desc *const fmt = &formats[i->format.type]; + assert (check_input_specifier (&i->format, 0)); + /* Check that we've got a string to work with. */ if (i->e == i->s || i->format.w <= 0) {