#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
-#include "bool.h"
+#include <stdbool.h>
#include "error.h"
-#include "getline.h"
+#include "getl.h"
#include "calendar.h"
#include "lexer.h"
#include "magic.h"
#include "settings.h"
#include "str.h"
#include "var.h"
-\f
-#include "debug-print.h"
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
+#include "debug-print.h"
\f
/* Specialized error routine. */
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;
static inline bool
parse_IB (struct data_in *i)
{
+#ifndef WORDS_BIGENDIAN
char buf[64];
+#endif
const char *p;
unsigned char xor;
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
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;
{
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)
{