projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix TEMPORARY bug and add regression test.
[pspp-builds.git]
/
src
/
data-in.c
diff --git
a/src/data-in.c
b/src/data-in.c
index 9bdda48cf3113877ee3f4c8c982522df17cac8fb..3a15f89612bc5048a1e7d2c13c888e8c98f9d3d5 100644
(file)
--- a/
src/data-in.c
+++ b/
src/data-in.c
@@
-18,6
+18,7
@@
02111-1307, USA. */
#include <config.h>
02111-1307, USA. */
#include <config.h>
+#include "data-in.h"
#include <assert.h>
#include <math.h>
#include <ctype.h>
#include <assert.h>
#include <math.h>
#include <ctype.h>
@@
-25,7
+26,6
@@
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
-#include "data-in.h"
#include "error.h"
#include "getline.h"
#include "julcal/julcal.h"
#include "error.h"
#include "getline.h"
#include "julcal/julcal.h"
@@
-36,15
+36,13
@@
#include "str.h"
#include "var.h"
\f
#include "str.h"
#include "var.h"
\f
-#undef DEBUGGING
-/*#define DEBUGGING 1 */
#include "debug-print.h"
\f
/* Specialized error routine. */
static void dls_error (const struct data_in *, const char *format, ...)
#include "debug-print.h"
\f
/* 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, ...)
static void
dls_error (const struct data_in *i, const char *format, ...)
@@
-142,6
+140,8
@@
parse_numeric (struct data_in *i)
if (*i->s == '-' || *i->s == '+')
i->s++;
}
if (*i->s == '-' || *i->s == '+')
i->s++;
}
+ else
+ sign = 1;
if (type != FMT_DOT)
{
if (type != FMT_DOT)
{
@@
-288,6
+288,7
@@
parse_N (struct data_in *i)
{
const unsigned char *cp;
{
const unsigned char *cp;
+ i->v->f = 0;
for (cp = i->s; cp < i->e; cp++)
{
if (!isdigit (*cp))
for (cp = i->s; cp < i->e; cp++)
{
if (!isdigit (*cp))
@@
-382,9
+383,10
@@
parse_Z (struct data_in *i)
if (!warned)
{
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;
}
}
warned = 1;
}
}
@@
-574,11
+576,6
@@
parse_A (struct data_in *i)
memset (i->v->s + len, ' ', i->format.w - len);
}
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;
}
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);
}
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;
}
\f
return 1;
}
\f
@@
-1497,13
+1489,7
@@
default_result (struct data_in *i)
/* Default to SYSMIS or blanks. */
if (fmt->cat & FCAT_STRING)
/* 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;
}
else
i->v->f = set_blanks;
}