X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fdata-out.c;h=53d9850db88a0da0ffb9ac3c1a76ada0d097955b;hb=eca977e618f2d4c6d55d9851b9714fd60e55559b;hp=7dfcc7853908f2347f6ec6aa4b187957f773863f;hpb=dcf9b154cbcaa35c3d8459a201b77eec8bcb30bd;p=pspp diff --git a/src/data/data-out.c b/src/data/data-out.c index 7dfcc78539..53d9850db8 100644 --- a/src/data/data-out.c +++ b/src/data/data-out.c @@ -18,26 +18,24 @@ 02110-1301, USA. */ #include -#include "message.h" +#include #include #include #include #include #include #include "calendar.h" -#include "message.h" +#include #include "format.h" -#include "magic.h" -#include "misc.h" -#include "misc.h" +#include +#include +#include #include "settings.h" -#include "str.h" +#include #include "variable.h" #include "gettext.h" #define _(msgid) gettext (msgid) - -#include "debug-print.h" /* Public functions. */ @@ -397,7 +395,7 @@ convert_Z (char *dst, const struct fmt_spec *fp, double number) static int convert_A (char *dst, const struct fmt_spec *fp, const char *string) { - memcpy (dst, string, fp->w); + memcpy(dst, string, fp->w); return 1; } @@ -1065,6 +1063,7 @@ try_F (char *dst, const struct fmt_spec *fp, double number) avoids wasting too much time formatting more decimal places on the first try. */ int result = format_and_round (dst, number, fp, fp->d + 2); + if (result >= 0) return result; @@ -1145,7 +1144,7 @@ format_and_round (char *dst, double number, const struct fmt_spec *fp, digits of the fraction. Right-justify the integer part and sign. */ dst[0] = ' '; - memcpy (dst + 1, buf, fp->w); + memcpy (dst + 1, buf, fp->w - 1); return 1; }