projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
NPar two samples dialog and T-Test paired dialogs: Converted to PsppireDialogAction
[pspp]
/
src
/
ui
/
syntax-gen.c
diff --git
a/src/ui/syntax-gen.c
b/src/ui/syntax-gen.c
index 9221eae4d6a554c09e87275884ab496d35980ba8..dca3bd3c5b3cb778dde442553cebd40c83c23152 100644
(file)
--- a/
src/ui/syntax-gen.c
+++ b/
src/ui/syntax-gen.c
@@
-1,5
+1,5
@@
/* PSPPIRE - a graphical user interface for PSPP.
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010
, 2011
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
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
@@
-16,7
+16,7
@@
#include <config.h>
#include <config.h>
-#include
<ui/syntax-gen.h>
+#include
"ui/syntax-gen.h"
#include <ctype.h>
#include <mbchar.h>
#include <ctype.h>
#include <mbchar.h>
@@
-27,8
+27,10
@@
#include "data/value.h"
#include "libpspp/assertion.h"
#include "libpspp/cast.h"
#include "data/value.h"
#include "libpspp/assertion.h"
#include "libpspp/cast.h"
+#include "libpspp/i18n.h"
#include "libpspp/message.h"
#include "libpspp/str.h"
#include "libpspp/message.h"
#include "libpspp/str.h"
+#include "libpspp/misc.h"
#include "gl/ftoastr.h"
#include "gl/ftoastr.h"
@@
-156,8
+158,7
@@
syntax_gen_number (struct string *output,
s = data_out (&v_in, "FIXME", format);
/* FIXME: UTF8 encoded strings will fail here */
s = data_out (&v_in, "FIXME", format);
/* FIXME: UTF8 encoded strings will fail here */
- error = data_in (ss_cstr (s), LEGACY_NATIVE,
- format->type, &v_out, 0, NULL);
+ error = data_in (ss_cstr (s), C_ENCODING, format->type, &v_out, 0, NULL);
ok = error == NULL;
free (error);
ok = error == NULL;
free (error);
@@
-176,7
+177,7
@@
syntax_gen_number (struct string *output,
{
char s[DBL_BUFSIZE_BOUND];
{
char s[DBL_BUFSIZE_BOUND];
- dtoastr (s, sizeof s, 0, 0, number);
+
c_
dtoastr (s, sizeof s, 0, 0, number);
ds_put_cstr (output, s);
}
}
ds_put_cstr (output, s);
}
}
@@
-231,6
+232,7
@@
syntax_gen_pspp_valist (struct string *output, const char *format,
{
for (;;)
{
{
for (;;)
{
+ char directive;
size_t copy = strcspn (format, "%");
ds_put_substring (output, ss_buffer (format, copy));
format += copy;
size_t copy = strcspn (format, "%");
ds_put_substring (output, ss_buffer (format, copy));
format += copy;
@@
-239,7
+241,8
@@
syntax_gen_pspp_valist (struct string *output, const char *format,
return;
assert (*format == '%');
format++;
return;
assert (*format == '%');
format++;
- switch (*format++)
+ directive = *format++;
+ switch (directive)
{
case 's':
{
{
case 's':
{
@@
-266,16
+269,14
@@
syntax_gen_pspp_valist (struct string *output, const char *format,
break;
case 'f':
break;
case 'f':
+ case 'g':
{
{
+ char conv[3];
double d = va_arg (args, double);
double d = va_arg (args, double);
- switch (*format++)
- {
- case 'p':
- ds_put_format (output, "%f", d);
- break;
- default:
- NOT_REACHED ();
- }
+ conv[0]='%';
+ conv[1]=directive;
+ conv[2]='\0';
+ ds_put_c_format (output, conv, d);
break;
}
break;
}