Ben Pfaff [Sun, 9 Feb 2014 21:26:32 +0000 (13:26 -0800)]
sys-file-reader: Break reading a system file into two stages.
This paves the way to add a way to obtain strings from the system file, to
allow to more intelligently offer users a choice of encodings, by allowing
a client to open a system file before deciding what encoding should be
used to decode it.
Ben Pfaff [Sun, 16 Feb 2014 07:11:56 +0000 (23:11 -0800)]
sys-file-reader: Get rid of longjmp().
longjmp() makes code harder to understand, and I was finding its
usage here was making it harder for me to make reasonable changes
to the system file reader.
Ben Pfaff [Sun, 16 Feb 2014 07:06:13 +0000 (23:06 -0800)]
pspp-dump-sav: More gracefully handle empty multiple response sets.
Some multiple response sets have no variables, although I don't know why,
and pspp-dump-sav is more useful if it doesn't stop reading when it arrives
at one.
Ben Pfaff [Tue, 4 Feb 2014 05:37:53 +0000 (21:37 -0800)]
Change many %g format specifiers to %.*g with precision DBL_DIG + 1.
The high precision should ensure that in most cases the value is formatted
with enough digits to fully express the internal precision. Without this
change, %g by itself only expresses 6 digits of precision, so that an
integer value like 99999999 is formatted as 1e8. This fixes the problem.
This commit adds a test to MISSING VALUES because this was in particular
reported as a problem.
Thanks to Andre Müller <Andre.Mueller@gesis.org> for reporting this issue.
Ben Pfaff [Fri, 10 Jan 2014 05:08:10 +0000 (21:08 -0800)]
pspp-convert: Fix Mac OS build by eliminating redundant linking.
The Mach-O object format used on Mac OS handles redundant linking against
a shared object badly, whereas ELF doesn't have a problem, so this commit
fixes a crash on Mac OS.
John Darrington [Fri, 3 Jan 2014 06:22:19 +0000 (07:22 +0100)]
doc/tutorial.texi: Correct the text describing intepretation of the Levene test.
The text which described the interpretation of the Levene test, in the
independent samples T-TEST output erroneously inverted the sense of the conclusion.
This change corrects the text.
Ben Pfaff [Tue, 24 Dec 2013 03:24:42 +0000 (19:24 -0800)]
cmac-aes256: Correct size of local rk[] array.
This array was undersized, yielding undefined behavior. It happened to
work OK when compiled -O2 with GCC 4.7.x for x86, and fail with compiled
-O0 in the same environment. This fixes the problem.
Previously, any_reader_may_open returned bool. This change makes it
return a tri-state variable. YES, NO or ERROR. This is useful to
distinguish between a file which is not "readable" (ie not in a format
which PSPP knows how to read) and a file which cannot be opened due
to lack of permission or other lower level errors.
Ben Pfaff [Sat, 16 Nov 2013 04:32:28 +0000 (20:32 -0800)]
psppire-data-window: Set default filter in File|Save As to show all files.
The File|Save As dialog box showed "System Files" in two places: in the
filter dropdown and in the format dropdown. It was surprising to users
that changing the filter dropdown had no effect on the format of the file
actually saved. This commit makes it more obvious which dropdown needs to
be changed, by only showing "System Files" in the right place.
Ben Pfaff [Fri, 15 Nov 2013 00:41:32 +0000 (16:41 -0800)]
render-test: Render to PDF only if --pdf specified on command line.
Difference in font metrics on Guix lead to errors trying to render to PDF
in some tests. The tests don't actually check anything in the PDF output
so we might as well just leave that for manual testing. Adding an option
accomplishes that well enough.
Reported by Andreas Enge.
Root caused discovered by John Darrington.
Bug #40213.
Ben Pfaff [Sun, 20 Oct 2013 16:44:09 +0000 (09:44 -0700)]
i18n: Make recode_substring_pool() always return a pool_malloc()'d string.
recode_substring_pool() generally returned a string allocated by
pool_malloc(), but when there was an error finding the converter it
returned a string that was allocated by pool_alloc(). This was a problem
for parse_value_labels() in the system file reader, because that function
frees all the strings it recodes. This commit fixes the problem by
always using pool_malloc() in recode_substring_pool().
Ben Pfaff [Sun, 20 Oct 2013 16:36:26 +0000 (09:36 -0700)]
csv-file-writer: Use comma as default delimiter.
The previous default delimiter was a null byte, which isn't reasonable.
(This didn't manifest anywhere because the only existing user of the
CSV file writer always overrides the default.)
Ben Pfaff [Wed, 23 Oct 2013 05:13:30 +0000 (22:13 -0700)]
por-file-writer: Rename 'fv' member to 'case_index'.
'fv' used to be used throughout the tree to refer to the first of possibly
several sequential indexes into a case, but it is now obsolescent. The
term 'case_index' is now widely used.