pspp
5 years agoMatrix reader: Remove reliance on hash functions.
John Darrington [Thu, 23 May 2019 08:05:06 +0000 (10:05 +0200)]
Matrix reader: Remove reliance on hash functions.

This code made inappropriate use of hash functions to identify
uniqueness in sets of values.  This code removes that code, and
compares them explicitly.

Partial fix for bug #56363

5 years agoMatrix Data: Identify splits explicitly instead of with hashes.
John Darrington [Thu, 23 May 2019 05:33:55 +0000 (07:33 +0200)]
Matrix Data: Identify splits explicitly instead of with hashes.

The MATRIX DATA command was using hashes to identify splits in the
input.  This works most of the time, but it is not guaranteed that
every combination of split values will produce a unique hash.

This change explicitly compares the values instead.

Partial fix for bug #56363

5 years agosrc/libpspp/hash-functions.c: Add a preprocessor switch to help test hash table imple...
John Darrington [Thu, 23 May 2019 05:07:07 +0000 (07:07 +0200)]
src/libpspp/hash-functions.c: Add a preprocessor switch to help test hash table implementation.

5 years agosrc/libpspp/copyleft.c: Add copyright and licence notice and an explanitory comment.
John Darrington [Sun, 19 May 2019 08:10:23 +0000 (10:10 +0200)]
src/libpspp/copyleft.c: Add copyright and licence notice and an explanitory comment.

5 years agoexamine.c: Add note to translators.
John Darrington [Sat, 18 May 2019 06:53:22 +0000 (08:53 +0200)]
examine.c: Add note to translators.

5 years agoUse msgmerge --previous when merging po files.
John Darrington [Fri, 10 May 2019 16:38:08 +0000 (18:38 +0200)]
Use msgmerge --previous when merging po files.

5 years agoNEWS: fix typo.
John Darrington [Tue, 21 May 2019 13:56:44 +0000 (15:56 +0200)]
NEWS: fix typo.

5 years agosrc/math/levene.c: Fix crash resolving hmap collisions.
John Darrington [Tue, 21 May 2019 13:46:51 +0000 (15:46 +0200)]
src/math/levene.c: Fix crash resolving hmap collisions.

Partial fix for bug #56363

5 years agoRemove diagnostic printf
John Darrington [Tue, 21 May 2019 13:35:42 +0000 (15:35 +0200)]
Remove diagnostic printf

5 years agoAdd the WARN_UNUSED_RESULT attribute to all hash functions.
John Darrington [Tue, 21 May 2019 12:30:46 +0000 (14:30 +0200)]
Add the WARN_UNUSED_RESULT attribute to all hash functions.

A hash function has no purpose if the result is unused, and
tests will typically not pick up a mistake where the
programmer forgets to assign the result - the hash table will
merely degenerate to a linear searched array.

5 years agoroc.at: Remove comma terminating test keywords.
John Darrington [Tue, 21 May 2019 05:50:48 +0000 (07:50 +0200)]
roc.at: Remove comma terminating test keywords.

This was confusing me when trying to run all the ROC tests.

5 years agosrc/language/stats/examine.c: Whitespace changes only.
John Darrington [Thu, 9 May 2019 17:25:24 +0000 (19:25 +0200)]
src/language/stats/examine.c: Whitespace changes only.

5 years agosrc/data/data-in.c: Whitespace change only.
John Darrington [Thu, 9 May 2019 16:37:14 +0000 (18:37 +0200)]
src/data/data-in.c: Whitespace change only.

5 years agoQUICK CLUSTER: Move the parser into its own function.
John Darrington [Wed, 8 May 2019 07:08:09 +0000 (09:08 +0200)]
QUICK CLUSTER: Move the parser into its own function.

5 years agoQUICK CLUSTER (documentation): Clarify behaviour of the SAVE subcommand.
John Darrington [Tue, 7 May 2019 19:55:27 +0000 (21:55 +0200)]
QUICK CLUSTER (documentation): Clarify behaviour of the SAVE subcommand.

5 years agoFix cut and paste error
John Darrington [Tue, 7 May 2019 18:57:33 +0000 (20:57 +0200)]
Fix cut and paste error

5 years agoQUICK CLUSTER: Implement the /SAVE sub-command.
John Darrington [Tue, 7 May 2019 08:07:05 +0000 (10:07 +0200)]
QUICK CLUSTER: Implement the /SAVE sub-command.

5 years agoquick-cluster.c: whitespace changes only.
John Darrington [Tue, 7 May 2019 08:39:44 +0000 (10:39 +0200)]
quick-cluster.c: whitespace changes only.

5 years agoAdjust test to fix previous change
John Darrington [Mon, 6 May 2019 11:12:58 +0000 (13:12 +0200)]
Adjust test to fix previous change

5 years agoSpelling: nonnegative -> non-negative
John Darrington [Mon, 6 May 2019 09:06:55 +0000 (11:06 +0200)]
Spelling: nonnegative -> non-negative

5 years agoSpelling: criterium -> criterion
John Darrington [Mon, 6 May 2019 09:06:21 +0000 (11:06 +0200)]
Spelling: criterium -> criterion

5 years agoRemove en_GB.po
John Darrington [Mon, 6 May 2019 07:06:10 +0000 (09:06 +0200)]
Remove en_GB.po

This file was very out of date, and today there are no strings
which need to be translated anyway.

5 years agoGRAPH (barchart): Percentages display subcategorial percentages.
John Darrington [Sun, 5 May 2019 12:09:47 +0000 (14:09 +0200)]
GRAPH (barchart): Percentages display subcategorial percentages.

When calculating the values for a categorical barchart displaying
percentages, use the sub-category totals as the denominator, rather
than the primary totals.

Fixes bug #56247

5 years agoDump barchart when in testing mode.
John Darrington [Sun, 5 May 2019 14:50:25 +0000 (16:50 +0200)]
Dump barchart when in testing mode.

This change adds a routine to barcharts to print the parameters of the
chart to stdout when --testing is passed.

5 years agoBarchart.h: Add comment.
John Darrington [Sun, 5 May 2019 14:13:56 +0000 (16:13 +0200)]
Barchart.h: Add comment.

5 years agograph.c (run_barchart): Add assertion.
John Darrington [Sun, 5 May 2019 10:19:42 +0000 (12:19 +0200)]
graph.c (run_barchart): Add assertion.

We don't support multidimensional barcharts.

5 years agograph.c: "freqs" --> "cells".
John Darrington [Sun, 5 May 2019 10:13:40 +0000 (12:13 +0200)]
graph.c: "freqs" --> "cells".

The name "cells" is more meaningful in this context.

5 years agoEXAMINE: Implement the Shapiro-Wilk Test.
John Darrington [Sat, 4 May 2019 06:20:09 +0000 (08:20 +0200)]
EXAMINE: Implement the Shapiro-Wilk Test.

Closes bug #42511

5 years agoNEWS: spelling
John Darrington [Sat, 4 May 2019 05:56:06 +0000 (07:56 +0200)]
NEWS: spelling

5 years agoUpdate translations from translationproject.org
John Darrington [Sat, 4 May 2019 05:51:01 +0000 (07:51 +0200)]
Update translations from translationproject.org

5 years agoCorrect thinko in previous commit
John Darrington [Sat, 4 May 2019 04:55:07 +0000 (06:55 +0200)]
Correct thinko in previous commit

5 years agoEXAMINE: Don't crash when unrenderable graphs are requested.
John Darrington [Sat, 4 May 2019 04:29:44 +0000 (06:29 +0200)]
EXAMINE:  Don't crash when unrenderable graphs are requested.

This change fixes a crash in the cleanup of the cairo driver when
a graph which is not representable was attempted to be rendered.

5 years agoUpdate translatable strings relating to internal errors.
John Darrington [Fri, 3 May 2019 15:53:24 +0000 (17:53 +0200)]
Update translatable strings relating to internal errors.

5 years agoEXAMINE: Correct bug where /PLOT=ALL would not include the spreadlevel plot
John Darrington [Fri, 3 May 2019 14:31:50 +0000 (16:31 +0200)]
EXAMINE: Correct bug where /PLOT=ALL would not include the spreadlevel plot

5 years agocrosstabs.q: Replace 'Approx Sig.' with 'Approx. Sig.'
John Darrington [Wed, 1 May 2019 06:44:10 +0000 (08:44 +0200)]
crosstabs.q: Replace 'Approx Sig.' with 'Approx. Sig.'

Not only is this a orthographical improvement, but it is also consistent
with other strings in this file and elsewhere, and avoids gratuitiously
adding an extra string for translators to deal with.

5 years agograph.c: Whitespace changes only. Fold some very long lines.
John Darrington [Wed, 1 May 2019 06:23:41 +0000 (08:23 +0200)]
graph.c: Whitespace changes only. Fold some very long lines.

5 years agoGUI: Scroll to correct datasheet position after deleting/inserting variables.
John Darrington [Sun, 28 Apr 2019 15:24:36 +0000 (17:24 +0200)]
GUI: Scroll to correct datasheet position after deleting/inserting variables.

* src/ui/gui/psppire-data-sheet.h (psppire_data_sheet_delete_variables,
  psppire_data_sheet_insert_new_variable_at_posn): New functions
* src/ui/gui/psppire-data-sheet.c: insert_new_variable ->
psppire_data_sheet_insert_new_variable_at_posn.
* src/ui/gui/psppire-data-sheet.c: delete_variables ->
psppire_data_sheet_delete_variables.
* src/ui/gui/psppire-data-editor.c:
(psppire_data_editor_data_delete_variables,
psppire_data_editor_insert_new_variable_at_posn): Reimplement.

5 years agosrc/output/driver.c: Change engine_stack from an array to a list.
John Darrington [Sun, 28 Apr 2019 13:09:02 +0000 (15:09 +0200)]
src/output/driver.c:  Change engine_stack from an array to a list.

The structure called engine_stack was formerly implemented as a heap
based array allocated with realloc.   However when realloc moves data
it makes only shallow copies and does not copy referand of pointers.
This was causing crashes under certain circumstances.

Rather than trying to fix this, this change re-implements engine_stack
using the linked list structure from ll.h

5 years agoNEWS: correct misleading entry
John Darrington [Sat, 27 Apr 2019 11:51:29 +0000 (13:51 +0200)]
NEWS: correct misleading entry

5 years agoFREQUENCIES: Warn the user if any weight values are missing.
John Darrington [Sat, 27 Apr 2019 11:31:07 +0000 (13:31 +0200)]
FREQUENCIES: Warn the user if any weight values are missing.

5 years agopiechart-cairo.c: Remove erroneous duplicate line.
John Darrington [Sat, 20 Apr 2019 13:58:03 +0000 (15:58 +0200)]
piechart-cairo.c: Remove erroneous duplicate line.

5 years agoOneway GUI: Add dialog box for the posthoc tests.
Ayhan Yalçınsoy [Tue, 16 Apr 2019 17:02:21 +0000 (19:02 +0200)]
Oneway GUI: Add dialog box for the posthoc tests.

5 years agoFix crash in lexer due to integer overflow.
John Darrington [Sun, 14 Apr 2019 14:57:42 +0000 (16:57 +0200)]
Fix crash in lexer due to integer overflow.

Fixes bug #54684

5 years agolexer: Token testing functions now take a const argument.
John Darrington [Sun, 14 Apr 2019 14:46:26 +0000 (16:46 +0200)]
lexer: Token testing functions now take a const argument.

5 years agoFix crash in gui, when T-TEST or ONEWAY while a filter is set.
John Darrington [Sat, 13 Apr 2019 18:55:19 +0000 (20:55 +0200)]
Fix crash in gui, when T-TEST or ONEWAY while a filter is set.

Fixes bug #54784

5 years agoLinear Regression GUI: Add checkbox for tolerance.
Ayhan Yalçınsoy [Sun, 31 Mar 2019 07:06:25 +0000 (09:06 +0200)]
Linear Regression GUI: Add checkbox for tolerance.

5 years agoarray.c: Add missing include directive
John Darrington [Wed, 27 Mar 2019 14:03:55 +0000 (15:03 +0100)]
array.c: Add missing include directive

5 years agoREGRESSION: Fix bug when printing tolerance of multiple variables.
John Darrington [Tue, 12 Mar 2019 16:30:56 +0000 (17:30 +0100)]
REGRESSION: Fix bug when printing tolerance of multiple variables.

5 years agoREGRESSION: Rename COLLIN to TOL
John Darrington [Mon, 11 Mar 2019 09:10:45 +0000 (10:10 +0100)]
REGRESSION: Rename COLLIN to TOL

This is now consistent with other software.

5 years agoUpdate version number, as there have been a number of changes since the last release
John Darrington [Sun, 10 Mar 2019 18:50:17 +0000 (19:50 +0100)]
Update version number, as there have  been a number of changes since the last release

5 years agoREGRESSION: Fix some memory leaks and tidy up.
John Darrington [Tue, 5 Mar 2019 19:56:05 +0000 (20:56 +0100)]
REGRESSION: Fix some memory leaks and tidy up.

5 years agoREGRESSION: New option /STATISTICS=COLLIN
John Darrington [Tue, 5 Mar 2019 11:03:09 +0000 (12:03 +0100)]
REGRESSION: New option /STATISTICS=COLLIN

5 years agoPSPPIRE: Avoid some segmentation faults when corrupt data is encountered.
John Darrington [Sat, 2 Mar 2019 14:29:39 +0000 (15:29 +0100)]
PSPPIRE: Avoid some segmentation faults when corrupt data is encountered.

5 years agoperl-module: Use unquoted perl config ld value
Ryan Schmidt [Mon, 3 Dec 2018 18:10:41 +0000 (12:10 -0600)]
perl-module: Use unquoted perl config ld value

Fixes build failure when the perl config ld value contains multiple
words, such as on PowerPC Mac OS X where it may be a value like
'env MACOSX_DEPLOYMENT_TARGET=10.3 /usr/bin/gcc-4.2'.

5 years agodoc: Improve syntax description for COUNT.
Ben Pfaff [Fri, 1 Mar 2019 02:56:55 +0000 (18:56 -0800)]
doc: Improve syntax description for COUNT.

Thanks to Nolan Void for the report.

5 years agosys-file-writer: Remove assertions based on file position.
Ben Pfaff [Thu, 28 Feb 2019 04:11:06 +0000 (20:11 -0800)]
sys-file-writer: Remove assertions based on file position.

These assertions can fail if the underlying file is not a regular file,
e.g. if it is a device such as /dev/null.

CVE-2019-9211.
See also https://bugzilla.redhat.com/show_bug.cgi?id=1683499.
See also https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9211.
See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923417.

5 years agodoc: Fix syntax for NUMERIC.
Ben Pfaff [Tue, 26 Feb 2019 13:30:26 +0000 (05:30 -0800)]
doc: Fix syntax for NUMERIC.

Reported by Nolan Void.

5 years agoMODIFY VARS: Fix bugs in REORDER and DROP subcommands, add tests.
Ben Pfaff [Tue, 26 Feb 2019 04:30:03 +0000 (20:30 -0800)]
MODIFY VARS: Fix bugs in REORDER and DROP subcommands, add tests.

Thanks to Nolan Void for reporting the bug.

5 years agoarray: New function reverse_array().
Ben Pfaff [Tue, 26 Feb 2019 04:28:47 +0000 (20:28 -0800)]
array: New function reverse_array().

An upcoming commit will introduce the first user.

5 years agoarray: Change SWAP macro into swap() function.
Ben Pfaff [Tue, 26 Feb 2019 04:28:19 +0000 (20:28 -0800)]
array: Change SWAP macro into swap() function.

5 years agoMODIFY VARS: Style updates.
Ben Pfaff [Tue, 26 Feb 2019 03:27:25 +0000 (19:27 -0800)]
MODIFY VARS: Style updates.

No behavioral changes.

5 years agodoc: Time components may not actually be separated by ".".
Ben Pfaff [Mon, 25 Feb 2019 17:47:21 +0000 (09:47 -0800)]
doc: Time components may not actually be separated by ".".

Reported by Matteo Ga.

5 years agodoc: Fix some errors in DOCUMENT description.
Ben Pfaff [Sat, 23 Feb 2019 02:48:55 +0000 (18:48 -0800)]
doc: Fix some errors in DOCUMENT description.

Thanks to Nolan Void <nolvoa@hanakami.com> for reporting the issues.

5 years agoSYSFILE INFO: Display documents too.
Ben Pfaff [Sat, 23 Feb 2019 02:24:01 +0000 (18:24 -0800)]
SYSFILE INFO: Display documents too.

The documentation says that SYSFILE INFO displays the documents but it
didn't actually do it.

Reported by Nolan Void <nolvoa@hanakami.com>.

5 years agopspp-dump-sav: Fix memory leaks.
Ben Pfaff [Sat, 23 Feb 2019 01:22:06 +0000 (17:22 -0800)]
pspp-dump-sav: Fix memory leaks.

Found by Address Sanitizer.

5 years agopspp-dump-sav; Fix write past end of buffer in corner case.
Ben Pfaff [Sat, 23 Feb 2019 01:16:40 +0000 (17:16 -0800)]
pspp-dump-sav; Fix write past end of buffer in corner case.

If count == 0 and size > 0, then n_bytes is 0, buffer is a 1-byte
allocation, and the assignment to buffer[size] would write to buffer[1]
(or past it), which is past the end of the allocation.

Found by Address Sanitizer.

5 years agodoc: Remove documentation for SET MORE subcommand.
Ben Pfaff [Thu, 21 Feb 2019 02:07:59 +0000 (18:07 -0800)]
doc: Remove documentation for SET MORE subcommand.

The subcommand itself was removed a long time ago.

Thanks to Nolan Void <nolvoa@hanakami.com> for reporting the problem.

5 years agoformat: Always output 2-digit hours for TIME format.
Ben Pfaff [Sun, 10 Feb 2019 06:24:47 +0000 (22:24 -0800)]
format: Always output 2-digit hours for TIME format.

This makes the code honor what the documentation says.

Thanks to Nolan Void <nolvoa@hanakami.com> for reporting the problem.

5 years agopspp-dump-sav: Be consistent about variable numbering.
Ben Pfaff [Sun, 10 Feb 2019 05:38:32 +0000 (21:38 -0800)]
pspp-dump-sav: Be consistent about variable numbering.

Dictionary indexes are 1-based but this printed them starting from zero,
so that the value labels (and weight) variable didn't match up properly.

Bug #55673.

5 years agopivot-output: Improve variable naming.
Ben Pfaff [Sat, 9 Feb 2019 23:09:55 +0000 (15:09 -0800)]
pivot-output: Improve variable naming.

'pt' is better than 'st' as the name for a struct pivot_table.

5 years agoline-reader-test: Fix memory leak.
Ben Pfaff [Wed, 23 Jan 2019 04:41:07 +0000 (20:41 -0800)]
line-reader-test: Fix memory leak.

5 years agostring-map: Avoid measuring the length of a string twice.
Ben Pfaff [Fri, 18 Jan 2019 05:35:05 +0000 (21:35 -0800)]
string-map: Avoid measuring the length of a string twice.

5 years agotable-transpose: Remove.
Ben Pfaff [Wed, 23 Jan 2019 04:27:44 +0000 (20:27 -0800)]
table-transpose: Remove.

This had only only user, which this commit also removes.

5 years agoFix broken psql tests.
John Darrington [Sun, 20 Jan 2019 10:05:36 +0000 (11:05 +0100)]
Fix broken psql tests.

This test seemed to fail on recent Debian systems, due to a combination
of perl,bash,postgresql and autoconf not playing nicely together.

5 years agoImprove MDD writer support.
Dave Trollope [Sat, 19 Jan 2019 17:18:27 +0000 (09:18 -0800)]
Improve MDD writer support.

Patch #9742.

5 years agotests: Make Perl tests work with Address Sanitizer.
Ben Pfaff [Thu, 17 Jan 2019 03:49:36 +0000 (19:49 -0800)]
tests: Make Perl tests work with Address Sanitizer.

5 years agotests: Add valgrind and Leak Sanitizer suppression files.
Ben Pfaff [Thu, 17 Jan 2019 03:08:46 +0000 (19:08 -0800)]
tests: Add valgrind and Leak Sanitizer suppression files.

Otherwise any of the tests that use Cairo for PDF output end up with a
bunch of leaks due to libfontconfig weirdness.

5 years agopspp-convert: Add --password-list option.
Ben Pfaff [Wed, 16 Jan 2019 01:28:53 +0000 (17:28 -0800)]
pspp-convert: Add --password-list option.

5 years agopspp-convert: Add -a and -l options to search for a password.
Ben Pfaff [Sat, 12 Jan 2019 20:53:00 +0000 (12:53 -0800)]
pspp-convert: Add -a and -l options to search for a password.

5 years agoencrypted-file: Extend magic numbers in try_password().
Ben Pfaff [Sat, 12 Jan 2019 20:14:36 +0000 (12:14 -0800)]
encrypted-file: Extend magic numbers in try_password().

The three-byte magic numbers would match 1 in about every 16 million
guessed passwords, which is too frequent for exhaustive testing.  The new
7- and 10-byte magic numbers should not have the same problem.

5 years agopivot-table: Fix use-after-free error.
Ben Pfaff [Sun, 13 Jan 2019 00:51:56 +0000 (16:51 -0800)]
pivot-table: Fix use-after-free error.

5 years agoFix numerous memory leaks.
Ben Pfaff [Sat, 12 Jan 2019 21:03:46 +0000 (13:03 -0800)]
Fix numerous memory leaks.

5 years agostr: Fix bugs in ds_put_c_vformat().
Ben Pfaff [Sun, 13 Jan 2019 00:41:25 +0000 (16:41 -0800)]
str: Fix bugs in ds_put_c_vformat().

This code used c_vasnprintf() as if it had the same interface as
vsnprintf(), but it's quite different.  It is necessary to make note of its
return value and possibly free it.  The code previously here didn't do
that, which led to memory leaks and possibly worse problems.  (Fortunately
this function isn't used much.)

Memory leak found by Address Sanitizer.

5 years agoascii: Always use Unicode boxes by default if appropriate.
Ben Pfaff [Sun, 6 Jan 2019 18:38:50 +0000 (10:38 -0800)]
ascii: Always use Unicode boxes by default if appropriate.

This moves code from the command-line UI so that additional users
can benefit.  Currently that's just the command-line UI anyway
but others are coming.

5 years agomatrix-data: Only use as many bytes as necessary to initialize string.
Ben Pfaff [Wed, 2 Jan 2019 22:46:11 +0000 (14:46 -0800)]
matrix-data: Only use as many bytes as necessary to initialize string.

Using strncpy() of a 9-character string to initialize an 8-byte field is
odd and seems likely to have been a mistake, although a harmless one.
This makes the situation seem less odd.

Found by GCC 4.9.

5 years agot-test-paired: Fix format specifiers.
Ben Pfaff [Wed, 2 Jan 2019 22:43:02 +0000 (14:43 -0800)]
t-test-paired: Fix format specifiers.

Found by GCC.

Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")
5 years agoregression: Make sure dep_subscript is really initialized.
Ben Pfaff [Wed, 2 Jan 2019 22:42:04 +0000 (14:42 -0800)]
regression: Make sure dep_subscript is really initialized.

Found by GCC 4.9.

5 years agochisquare: Fix format specifier in chisquare_execute().
Ben Pfaff [Wed, 2 Jan 2019 22:39:25 +0000 (14:39 -0800)]
chisquare: Fix format specifier in chisquare_execute().

Found by GCC.

Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")
5 years agotab: Fix implementation of "middle" vertical alignment in tab_get_cell().
Ben Pfaff [Wed, 2 Jan 2019 22:36:34 +0000 (14:36 -0800)]
tab: Fix implementation of "middle" vertical alignment in tab_get_cell().

Found by GCC 4.9.

Fixes: a7a300e7d996 ("output: Support decimal and mixed alignment,")
5 years agopivot-table: Fix format specifiers.
Ben Pfaff [Wed, 2 Jan 2019 22:33:56 +0000 (14:33 -0800)]
pivot-table: Fix format specifiers.

Found by GCC.

Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")
5 years agodriver: Fix format specifiers and avoid fixed-size buffer.
Ben Pfaff [Wed, 2 Jan 2019 22:30:56 +0000 (14:30 -0800)]
driver: Fix format specifiers and avoid fixed-size buffer.

The format specifier problem is real.  The fixed-size buffers should not
be, but it is not worth arguing with GCC.

Fixes: a1b7813a6993 ("output: New page-setup-item.")
5 years agopor-file-writer: Use xasprintf() to avoid careful buffer sizing.
Ben Pfaff [Wed, 2 Jan 2019 22:29:10 +0000 (14:29 -0800)]
por-file-writer: Use xasprintf() to avoid careful buffer sizing.

GCC 4.9 thinks that this string can overflow the buffer and there's no
reason not to use xasprintf() here.

5 years agopor-file-reader: Use xasprintf() to avoid need for careful buffer sizing.
Ben Pfaff [Wed, 2 Jan 2019 22:26:24 +0000 (14:26 -0800)]
por-file-reader: Use xasprintf() to avoid need for careful buffer sizing.

GCC 4.9 complained about this, saying that the output could exceed the
buffer size.  It doesn't seem worth arguing with it.

5 years agoods-reader: Use proper function type for xml read callback.
Ben Pfaff [Wed, 2 Jan 2019 22:22:54 +0000 (14:22 -0800)]
ods-reader: Use proper function type for xml read callback.

The difference between size_t and int is not important on 32-bit, but it
makes a bit difference on 64-bit.

5 years agopivot-table: Fix type mismatch in equal_indexes().
Ben Pfaff [Wed, 2 Jan 2019 22:22:24 +0000 (14:22 -0800)]
pivot-table: Fix type mismatch in equal_indexes().

This function was being called with an 'unsigned int *' but it took it
as a 'size_t *', which worked fine on 32-bit systems but caused an
enormous number of tests to fail on 64-bit systems.

Thanks to Alan Mead and John Darrington for assistance.

Fixes: 5cab4cf3322f ("output: Introduce pivot tables.")
5 years agotests: Get rid of temporary debugging fix.
Ben Pfaff [Wed, 2 Jan 2019 21:48:24 +0000 (13:48 -0800)]
tests: Get rid of temporary debugging fix.

Fixes: c70c92497244 ("SYSFILE INFO: Get rid of nested tables.")
5 years agotable: Avoid initializer warnings with GCC 4.9.
Ben Pfaff [Wed, 2 Jan 2019 21:29:49 +0000 (13:29 -0800)]
table: Avoid initializer warnings with GCC 4.9.

5 years agopsppire-output-window: Avoid using options the ascii driver no longer has.
Ben Pfaff [Wed, 2 Jan 2019 20:29:38 +0000 (12:29 -0800)]
psppire-output-window: Avoid using options the ascii driver no longer has.

Fixes: 1a4052ac93c4 ("ascii: Get rid of the idea of pages.")
Fixes: 37a14e6b8ab9 ("output: Add support for fonts.")
5 years agoconfigure: Entirely avoid broken Texinfo.
Ben Pfaff [Wed, 2 Jan 2019 17:20:51 +0000 (09:20 -0800)]
configure: Entirely avoid broken Texinfo.

Texinfo 4.13 was still causing problems on SuSE despite the implemented
workarounds, so this commit removes the workaround in favor of just using
the distributed pspp.xml if makeinfo is broken.

Requested by opensuse.lietuviu.kalba <opensuse.lietuviu.kalba@gmail.com>.

5 years agopsppire-output-view: Only rerender for real changes.
Ben Pfaff [Wed, 2 Jan 2019 05:07:05 +0000 (21:07 -0800)]
psppire-output-view: Only rerender for real changes.

Rerendering is expensive and slow, so only do it when there's a real change
like font size, not just when the cursor moves to a different window.