X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata-in.c;h=3931067daabe0f002dc9365c8873af2a72c13b89;hb=9b4b94c6d3b5fd98bf396e23d015380b87d2d296;hp=9bdda48cf3113877ee3f4c8c982522df17cac8fb;hpb=2e0595dd8e344dbdcab740d7d2a3b67d153d6b39;p=pspp-builds.git diff --git a/src/data-in.c b/src/data-in.c index 9bdda48c..3931067d 100644 --- a/src/data-in.c +++ b/src/data-in.c @@ -18,14 +18,14 @@ 02111-1307, USA. */ #include -#include +#include "data-in.h" +#include "error.h" #include #include #include #include #include #include -#include "data-in.h" #include "error.h" #include "getline.h" #include "julcal/julcal.h" @@ -36,15 +36,13 @@ #include "str.h" #include "var.h" -#undef DEBUGGING -/*#define DEBUGGING 1 */ #include "debug-print.h" /* Specialized error routine. */ static void dls_error (const struct data_in *, const char *format, ...) - __attribute__ ((format (printf, 2, 3))); + PRINTF_FORMAT (2, 3); static void dls_error (const struct data_in *i, const char *format, ...) @@ -142,16 +140,18 @@ parse_numeric (struct data_in *i) if (*i->s == '-' || *i->s == '+') i->s++; } + else + sign = 1; if (type != FMT_DOT) { - decimal = set_decimal; - grouping = set_grouping; + decimal = get_decimal(); + grouping = get_grouping(); } else { - decimal = set_grouping; - grouping = set_decimal; + decimal = get_grouping(); + grouping = get_decimal(); } i->v->f = SYSMIS; @@ -288,6 +288,7 @@ parse_N (struct data_in *i) { const unsigned char *cp; + i->v->f = 0; for (cp = i->s; cp < i->e; cp++) { if (!isdigit (*cp)) @@ -382,9 +383,10 @@ parse_Z (struct data_in *i) if (!warned) { - msg (MW, _("Quality of zoned decimal (Z) input format code is " - "suspect. Check your results three times, report bugs " - "to author.")); + msg (MW, + _("Quality of zoned decimal (Z) input format code is " + "suspect. Check your results three times. Report bugs " + "to %s."),PACKAGE_BUGREPORT); warned = 1; } } @@ -574,11 +576,6 @@ parse_A (struct data_in *i) memset (i->v->s + len, ' ', i->format.w - len); } -#if __CHECKER__ - memset (i->v->s + i->format.w, '%', - REM_RND_UP (i->format.w, MAX_SHORT_STRING)); -#endif - return 1; } @@ -613,11 +610,6 @@ parse_AHEX (struct data_in *i) memset (i->v->s + (i->e - i->s) / 2, ' ', (i->format.w - (i->e - i->s)) / 2); } -#if __CHECKER__ - memset (i->v->s + i->format.w / 2, '%', - REM_RND_UP (i->format.w / 2, MAX_SHORT_STRING)); -#endif - return 1; } @@ -1497,15 +1489,9 @@ default_result (struct data_in *i) /* Default to SYSMIS or blanks. */ if (fmt->cat & FCAT_STRING) - { -#if __CHECKER__ - memset (i->v->s, ' ', ROUND_UP (i->format.w, MAX_SHORT_STRING)); -#else - memset (i->v->s, ' ', i->format.w); -#endif - } + memset (i->v->s, ' ', i->format.w); else - i->v->f = set_blanks; + i->v->f = get_blanks(); } int @@ -1543,7 +1529,7 @@ data_in (struct data_in *i) if (++cp == i->e) { - i->v->f = set_blanks; + i->v->f = get_blanks(); return 1; } }