/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2007, 2009, 2010, 2011, 2012, 2014 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <config.h>
-#include <output/measure.h>
+#include "output/measure.h"
+#include <gl/c-strtod.h>
#include <ctype.h>
#include <errno.h>
#if HAVE_LC_PAPER
#include <langinfo.h>
#endif
-#include <libpspp/str.h>
+#include <stdint.h>
#include <stdlib.h>
-#include <data/file-name.h>
+#include "data/file-name.h"
+#include "libpspp/str.h"
-#include "gl/error.h"
+#include "gl/c-strcase.h"
+#include "libpspp/message.h"
#include "gettext.h"
#define _(msgid) gettext (msgid)
char *tail;
/* Number. */
- raw = strtod (dimen, &tail);
+ raw = c_strtod (dimen, &tail);
if (raw < 0.0)
goto syntax_error;
return raw * factor;
syntax_error:
- error (0, 0, _("`%s' is not a valid length."), dimen);
+ msg (ME, _("`%s' is not a valid length."), dimen);
return -1;
}
/* Treat string that starts with digit as explicit size. */
ok = parse_paper_size (size, h, v);
if (!ok)
- error (0, 0, _("syntax error in paper size `%s'"), size);
+ msg (ME, _("syntax error in paper size `%s'"), size);
}
else
{
unit += strspn (unit, CC_SPACES);
for (p = units; p < units + sizeof units / sizeof *units; p++)
- if (!strcasecmp (unit, p->name))
+ if (!c_strcasecmp (unit, p->name))
return p->factor;
return 0.0;
}
char *tail;
/* Width. */
- raw_h = strtod (size, &tail);
+ raw_h = c_strtod (size, &tail);
if (raw_h <= 0.0)
return false;
tail += strspn (tail, CC_SPACES "x,");
/* Length. */
- raw_v = strtod (tail, &tail);
+ raw_v = c_strtod (tail, &tail);
if (raw_v <= 0.0)
return false;
assert (ok);
return ok;
}
- error (0, 0, _("unknown paper type `%.*s'"),
+ msg (ME, _("unknown paper type `%.*s'"),
(int) ss_length (name), ss_data (name));
return false;
}
file = fopen (file_name, "r");
if (file == NULL)
{
- error (0, errno, _("error opening input file \"%s\""), file_name);
+ msg_error (errno, _("error opening input file `%s'"), file_name);
return false;
}
if (!ds_read_config_line (&line, &line_number, file))
{
if (ferror (file))
- error (0, errno, _("error reading file \"%s\""), file_name);
+ msg_error (errno, _("error reading file `%s'"), file_name);
break;
}
fclose (file);
ds_destroy (&line);
- error (0, 0, _("paper size file \"%s\" does not state a paper size"),
+ msg (ME, _("paper size file `%s' does not state a paper size"),
file_name);
return false;
}
#if HAVE_LC_PAPER
/* LC_PAPER is a non-standard glibc extension. */
- *h = (int) nl_langinfo(_NL_PAPER_WIDTH) * (72000 / 25.4);
- *v = (int) nl_langinfo(_NL_PAPER_HEIGHT) * (72000 / 25.4);
+ *h = (intptr_t) nl_langinfo(_NL_PAPER_WIDTH) * (72000 / 25.4);
+ *v = (intptr_t) nl_langinfo(_NL_PAPER_HEIGHT) * (72000 / 25.4);
if (*h > 0 && *v > 0)
return true;
#endif