pspp-builds.git
15 years agoRewrite automake rules for internationalisation files.
John Darrington [Mon, 31 Aug 2009 16:25:23 +0000 (18:25 +0200)]
Rewrite automake rules for internationalisation files.

I got fed up with battling against the Makefile which
gettext provides.  So I rolled my own instead.  This change provides
the following advantages over previous situation:

* It doesn't use recursive calls to $(MAKE).

* Merged and unmerged po files are properly seperated into
  the buildir and sourcedir respectively.  Consequently,
  po files get updated only when we really want them to be,
  and not (potentially) on every commit.

* The .pot file (and consequently the .po and .gmo files) now
  properly depend upon all the distributed source files.  There
  is no need to run "make -f Smake" to make it aware of new files.

* There's no more need of "timestamp" files.

* Potentially it's easier to add per-source-file options
  when generating the .pot file. (and thus avoid warnings about
  unrecognised extentions.

15 years agoCorrect typo in printed string
John Darrington [Sun, 30 Aug 2009 14:52:53 +0000 (16:52 +0200)]
Correct typo in printed string

15 years agoUpdate to most recent Gnulib
John Darrington [Sun, 30 Aug 2009 14:51:16 +0000 (16:51 +0200)]
Update to most recent Gnulib

15 years agoFix make distcheck
John Darrington [Sun, 30 Aug 2009 14:16:38 +0000 (16:16 +0200)]
Fix make distcheck

15 years agoDon't override label for Save As menuitem
John Darrington [Sun, 16 Aug 2009 05:27:01 +0000 (07:27 +0200)]
Don't override label for Save As menuitem

15 years agoCruft removal
Jason Stover [Mon, 3 Aug 2009 15:26:56 +0000 (11:26 -0400)]
Cruft removal

15 years agoUse u8_cpy instead of memcpy.
John Darrington [Thu, 30 Jul 2009 04:21:38 +0000 (06:21 +0200)]
Use u8_cpy instead of memcpy.

Use u8_cpy instead of memcpy since the
former provides better type checking.

15 years agoMerged changes from branch interaction-review
Jason Stover [Wed, 29 Jul 2009 01:32:31 +0000 (21:32 -0400)]
Merged changes from branch interaction-review

15 years agoRemove commented code
John Darrington [Tue, 28 Jul 2009 11:02:06 +0000 (13:02 +0200)]
Remove commented code

15 years agoremove unused return value
John Darrington [Tue, 28 Jul 2009 10:59:42 +0000 (12:59 +0200)]
remove unused return value

15 years agoAllow ranges with left to right and bottom to top sense to be selected.
John Darrington [Tue, 28 Jul 2009 10:55:23 +0000 (12:55 +0200)]
Allow ranges with left to right and bottom to top sense to be selected.

15 years agoReplace safe_strcmp with g_strcmp0.
John Darrington [Tue, 28 Jul 2009 05:05:42 +0000 (07:05 +0200)]
Replace safe_strcmp with g_strcmp0.

15 years agoFix clipboard export of non-ascii strings.
John Darrington [Tue, 28 Jul 2009 04:46:24 +0000 (06:46 +0200)]
Fix clipboard export of non-ascii strings.

Fixed problem pasting sheet data from psppire to
openoffice.org and gnumeric which contained non-ascii
characters.  Tested with openoffice.org 2.4 and
gnumeric 1.8.3

15 years agoFix bug in casemapping long strings.
John Darrington [Mon, 27 Jul 2009 17:41:25 +0000 (19:41 +0200)]
Fix bug in casemapping long strings.

Thanks to Ben Pfaff for pointing out the error.

15 years agoRemove the RESIZE feature of the sheet.
John Darrington [Mon, 27 Jul 2009 11:56:03 +0000 (13:56 +0200)]
Remove the RESIZE feature of the sheet.

This feature is currently unused, and probably
broken.

15 years agoRe-enable signal emmission on row/column selection
John Darrington [Mon, 27 Jul 2009 11:38:13 +0000 (13:38 +0200)]
Re-enable signal emmission on row/column selection

15 years agoRemoved unused function
John Darrington [Mon, 27 Jul 2009 10:58:06 +0000 (12:58 +0200)]
Removed unused function

15 years agoRemoved unnecessary variable and consequently unreachable code.
John Darrington [Mon, 27 Jul 2009 10:56:13 +0000 (12:56 +0200)]
Removed unnecessary variable and consequently unreachable code.

15 years agoAvoid the need for an extra click when de-selecting a region
John Darrington [Mon, 27 Jul 2009 10:51:36 +0000 (12:51 +0200)]
Avoid the need for an extra click when de-selecting a region

15 years agoRe-enable selection of complete rows/columns
John Darrington [Mon, 27 Jul 2009 10:44:26 +0000 (12:44 +0200)]
Re-enable selection of complete rows/columns

15 years agoRemove unused function psppire_sheet_cell_get_state
John Darrington [Mon, 27 Jul 2009 09:51:03 +0000 (11:51 +0200)]
Remove unused function psppire_sheet_cell_get_state

15 years agoPrevent var sheet from traversing to an invalid cell
John Darrington [Mon, 27 Jul 2009 09:46:43 +0000 (11:46 +0200)]
Prevent var sheet from traversing to an invalid cell

15 years agoRedraw affected areas after de-selecting a region
John Darrington [Mon, 27 Jul 2009 09:29:43 +0000 (11:29 +0200)]
Redraw affected areas after de-selecting a region

15 years agoRedraw selection when reducing its area.
John Darrington [Mon, 27 Jul 2009 09:22:00 +0000 (11:22 +0200)]
Redraw selection when reducing its area.

This change ensures that the area of the selection
is properly indicated when it's in the process of
being decreasing its area as well as increasing it.

15 years agoReplaced GTK_STATE_NORMAL with PSPPIRE_SHEET_NORMAL where appropriate
John Darrington [Mon, 27 Jul 2009 09:12:18 +0000 (11:12 +0200)]
Replaced GTK_STATE_NORMAL with PSPPIRE_SHEET_NORMAL where appropriate

15 years agoRemoved unnecessary variables
John Darrington [Mon, 27 Jul 2009 09:06:51 +0000 (11:06 +0200)]
Removed unnecessary variables

15 years agoMade selection a bit more reliable
John Darrington [Mon, 27 Jul 2009 08:53:38 +0000 (10:53 +0200)]
Made selection a bit more reliable

15 years agoRemove unnecessary variable
John Darrington [Mon, 27 Jul 2009 07:55:38 +0000 (09:55 +0200)]
Remove unnecessary variable

15 years agoPartial fix of selection in the sheet.
John Darrington [Mon, 27 Jul 2009 07:48:43 +0000 (09:48 +0200)]
Partial fix of selection in the sheet.

This change re-enables the display of sheet
selections.  Unfortunately, the selected cells
aren't properly de-selected (yet).

15 years agoWhitespace changes for the benefit of xgettext.
John Darrington [Sun, 26 Jul 2009 08:02:06 +0000 (10:02 +0200)]
Whitespace changes for the benefit of xgettext.

It would seem that xgettext wants the TRANSLATORS
comments to be on the line immediately preceeding the
translatable string.

15 years agoDisable extend_selection call.
John Darrington [Sat, 25 Jul 2009 14:27:30 +0000 (16:27 +0200)]
Disable extend_selection call.

Temporarily disable the call to psppire_sheet_extend_selection
since it interferes with the active cell border and selection
is currently not working anyway.

15 years agoAdd "dictionary" property to PsppireVarStore and use it.
John Darrington [Sat, 25 Jul 2009 08:53:05 +0000 (10:53 +0200)]
Add "dictionary" property to PsppireVarStore and use it.

Instead of abusing the encapsulation of PsppireVarStore,
by accessing the internal dictionary member directly, add
a "dictionary" property.   This should also take care of the
reference counting of the dict, which wasn't working properly.

15 years agoChange signature of text_to_value.
John Darrington [Fri, 24 Jul 2009 17:23:43 +0000 (19:23 +0200)]
Change signature of text_to_value.

Now, text_to_value initialises the value, and expects
the caller to destroy it.

This fixes some gui bugs where strange things happened with long string
value labels and missing values.

15 years agoremove return values from callbacks which don't need them
John Darrington [Fri, 24 Jul 2009 16:47:33 +0000 (18:47 +0200)]
remove return values from callbacks which don't need them

15 years agoFix warnings in flip command.
John Darrington [Thu, 23 Jul 2009 12:10:58 +0000 (14:10 +0200)]
Fix warnings in flip command.

Use data_in / data_out to convert between names and values,
instead of doing it ourselves.

15 years agoRemove reference to roc.h which doesn't exist.
John Darrington [Thu, 23 Jul 2009 11:46:21 +0000 (13:46 +0200)]
Remove reference to roc.h which doesn't exist.

15 years agoMerge commit 'origin/stable'
John Darrington [Thu, 23 Jul 2009 06:15:20 +0000 (08:15 +0200)]
Merge commit 'origin/stable'

Conflicts:

src/language/stats/t-test.q

15 years agoFix merge problems
John Darrington [Thu, 23 Jul 2009 05:23:26 +0000 (07:23 +0200)]
Fix merge problems

15 years agoMerge commit 'origin/roc'
John Darrington [Thu, 23 Jul 2009 05:05:41 +0000 (07:05 +0200)]
Merge commit 'origin/roc'

15 years agoAdd perl functions to get the format of a variable
John Darrington [Tue, 21 Jul 2009 13:43:08 +0000 (15:43 +0200)]
Add perl functions to get the format of a variable

15 years agoRemove double semicolons.
John Darrington [Mon, 20 Jul 2009 04:38:23 +0000 (06:38 +0200)]
Remove double semicolons.

15 years agoReplace caseproto_clone with caseproto_ref
John Darrington [Mon, 20 Jul 2009 04:34:38 +0000 (06:34 +0200)]
Replace caseproto_clone with caseproto_ref

Also unref the proto on destruction of the translator.

15 years agoAdded more (hopefully usefull) comments
John Darrington [Sun, 19 Jul 2009 18:20:36 +0000 (20:20 +0200)]
Added more (hopefully usefull) comments

15 years agoAdd some comments and macros to make the code more readable
John Darrington [Sun, 19 Jul 2009 17:27:51 +0000 (19:27 +0200)]
Add some comments and macros to make the code more readable

15 years agoAdd assertion to check code consitency
John Darrington [Sun, 19 Jul 2009 12:20:07 +0000 (14:20 +0200)]
Add assertion to check code consitency

15 years agoFix cleanup of ROC command.
John Darrington [Sun, 19 Jul 2009 11:35:35 +0000 (13:35 +0200)]
Fix cleanup of ROC command.

Properly deallocate variables, and use correct
symbols for parser return values.  Also, delete
roc.h which is unnecessary.  Thanks to Ben Pfaff
for pointing out these problems.

15 years agoRespect the constness of caseproto.
John Darrington [Sun, 19 Jul 2009 11:04:39 +0000 (13:04 +0200)]
Respect the constness of caseproto.

New function caseproto_clone.  This means we
can clone a proto, then mutate it as we want.

15 years agoCorrected spelling of "consolidate".
John Darrington [Sun, 19 Jul 2009 09:41:49 +0000 (11:41 +0200)]
Corrected spelling of "consolidate".

Thanks to Ben Pfaff for pointing out my mistake.

15 years agoAdded the '=' to the plot subcommand's documentation.
John Darrington [Sun, 19 Jul 2009 09:35:38 +0000 (11:35 +0200)]
Added the '=' to the plot subcommand's documentation.

Thanks to Ben Pfaff for pointing this out.

15 years agoAvoid compiler warning
John Darrington [Sat, 18 Jul 2009 11:38:49 +0000 (13:38 +0200)]
Avoid compiler warning

15 years agoMerge commit 'origin/data-encoding'
John Darrington [Sat, 18 Jul 2009 11:20:38 +0000 (13:20 +0200)]
Merge commit 'origin/data-encoding'

Conflicts:

src/language/dictionary/split-file.c

15 years agoAdd comment explaining the meaning of encoding to data_out
John Darrington [Sat, 18 Jul 2009 10:38:02 +0000 (12:38 +0200)]
Add comment explaining the meaning of encoding to data_out

15 years agoThe length of the string is now not always the
John Darrington [Sat, 18 Jul 2009 10:34:30 +0000 (12:34 +0200)]
The length of the string is now not always the
same as the format width.

Thanks to Ben Pfaff for pointing this out.

15 years agoImprove code to trim leading spaces from numeric output.
John Darrington [Sat, 18 Jul 2009 10:29:35 +0000 (12:29 +0200)]
Improve code to trim leading spaces from numeric output.

Ben Pfaff pointed out that the code to chomp the results
of formated doubles was no longer correct. This change
fixes that.

15 years agoUse data_out_pool in crosstabs.q
John Darrington [Sat, 18 Jul 2009 10:08:04 +0000 (12:08 +0200)]
Use data_out_pool in crosstabs.q

We were erroneously allocating a buffer before
the size of the contents were known.  Using
data_out_pool avoids this problem.  Thanks to
Ben Pfaff for pointing this out.

15 years agoBefore recoding a variable's name, check that it
John Darrington [Sat, 18 Jul 2009 09:32:46 +0000 (11:32 +0200)]
Before recoding a variable's name, check that it
doesn't clash with an existing one.

Thanks to Ben Pfaff for pointing out this potential
problem.

15 years agopspp_linreg(): Use cache->n_coeffs to set the dimensions of sw, instead of
Jason Stover [Fri, 17 Jul 2009 20:02:02 +0000 (16:02 -0400)]
pspp_linreg(): Use cache->n_coeffs to set the dimensions of sw, instead of
       cache->n_indeps, which may give incorrect dimension in the case
       of categorical variables. Fixes bug referenced in bug report
       26861.

15 years agoEnsure correct behaviour when the state var is missing.
John Darrington [Fri, 17 Jul 2009 15:11:44 +0000 (23:11 +0800)]
Ensure correct behaviour when the state var is missing.

When the state variable is missing, then the entire
case is skipped.

15 years agoUpdate documentation regarding missing values.
John Darrington [Fri, 17 Jul 2009 15:04:22 +0000 (23:04 +0800)]
Update documentation regarding missing values.

Explicitly mention that cases are excluded on a
listwise basis.

15 years agoFix ROC behaviour in the presence of missing values.
John Darrington [Fri, 17 Jul 2009 14:48:29 +0000 (22:48 +0800)]
Fix ROC behaviour in the presence of missing values.

Make sure that the ROC command's behaviour is correct,
when missing values appear in the result variable.

15 years agoCorrected typos in the perl documentation
John Darrington [Fri, 17 Jul 2009 07:30:40 +0000 (15:30 +0800)]
Corrected typos in the perl documentation

15 years agoi18n: Merge translatable strings.
Ben Pfaff [Thu, 16 Jul 2009 05:19:33 +0000 (22:19 -0700)]
i18n: Merge translatable strings.

15 years ago"Sig." is an abbreviation, "Exact" is not.
Ben Pfaff [Thu, 16 Jul 2009 05:15:03 +0000 (22:15 -0700)]
"Sig." is an abbreviation, "Exact" is not.

15 years agoi18n: Eliminate some translatable strings.
Ben Pfaff [Thu, 16 Jul 2009 05:12:41 +0000 (22:12 -0700)]
i18n: Eliminate some translatable strings.

15 years agoi18n: Reduce translatable strings in SHOW command.
Ben Pfaff [Thu, 16 Jul 2009 05:12:07 +0000 (22:12 -0700)]
i18n: Reduce translatable strings in SHOW command.

All the output from the SHOW command is of the form "%s is %s." but the
translators were being asked to translate similar strings over and over
again.  Reduce their load by getting rid of many translatable strings.

15 years agoi18n: Change some strings to reduce work of translation.
Ben Pfaff [Thu, 16 Jul 2009 05:10:17 +0000 (22:10 -0700)]
i18n: Change some strings to reduce work of translation.

PSPP has a number of strings that happen to be phrased differently for no
particular reason.  This commit changes some of those strings to be
exactly the same as other ones, to make the work of translators easier.

15 years agoSeparate table functions that format their arguments from those that don't.
Ben Pfaff [Thu, 16 Jul 2009 04:15:39 +0000 (21:15 -0700)]
Separate table functions that format their arguments from those that don't.

The tab_text, tab_joint_text, and tab_output_text functions, until now,
had an option bit TAT_PRINTF that specified whether they passed their text
argument through sprintf.  This interface was bad because it made it
impossible for GCC to tell whether it needed to verify a printf format
string or not.

This commit solves the problem by breaking each of these functions into one
that does format its argument and one that doesn't.

15 years agoConsistently capitalize the name "Gnumeric".
Ben Pfaff [Thu, 16 Jul 2009 02:58:01 +0000 (19:58 -0700)]
Consistently capitalize the name "Gnumeric".

Thanks to Harry Thijssen for pointing out the inconsistency.

15 years agoFixed bug reporting the significance of paired value t-test.
John Darrington [Wed, 15 Jul 2009 18:25:42 +0000 (02:25 +0800)]
Fixed bug reporting the significance of paired value t-test.

Due to a cut and paste error, the significance of paired
t-tests was wrong when the value of T was positive.
Thanks to Mike Griffiths for reporting this problem.

15 years agoNew function prepare_cutpoints
John Darrington [Wed, 15 Jul 2009 12:19:49 +0000 (20:19 +0800)]
New function prepare_cutpoints

Move the code which creates the cutpoints into its own
function.  This makes for easier reading IMO.

15 years agoUpdated the example with an easier to visualise one
John Darrington [Wed, 15 Jul 2009 12:05:58 +0000 (20:05 +0800)]
Updated the example with an easier to visualise one

15 years agoReplaced the glade definition of about dialog with a C one.
John Darrington [Tue, 14 Jul 2009 10:15:51 +0000 (18:15 +0800)]
Replaced the glade definition of about dialog with a C one.

The about dialog box is simple enough to maintain in C
rather than using a glade definition.

15 years agoRemoved unused function prototypes
John Darrington [Tue, 14 Jul 2009 10:01:37 +0000 (18:01 +0800)]
Removed unused function prototypes

15 years agoFix crash in find dialog and make code less horrible.
John Darrington [Mon, 13 Jul 2009 09:29:39 +0000 (17:29 +0800)]
Fix crash in find dialog and make code less horrible.

15 years agoFix bug encodig missing value keys in gui
John Darrington [Mon, 13 Jul 2009 06:21:02 +0000 (14:21 +0800)]
Fix bug encodig missing value keys in gui

15 years agoFix crash on text import dialog
John Darrington [Sun, 12 Jul 2009 20:46:20 +0000 (04:46 +0800)]
Fix crash on text import dialog

15 years agoRemove write-only variable from interaction_case_data.
Jason Stover [Sun, 12 Jul 2009 19:44:56 +0000 (15:44 -0400)]
Remove write-only variable from interaction_case_data.

15 years agoFix compiler warning in test program
John Darrington [Sun, 12 Jul 2009 15:44:36 +0000 (23:44 +0800)]
Fix compiler warning in test program

15 years agoUpdated the developers' manual to reflect the new situation
John Darrington [Sun, 12 Jul 2009 14:50:11 +0000 (22:50 +0800)]
Updated the developers' manual to reflect the new situation

15 years agoAdded a dict parameter to data_in and dealt with the consequences.
John Darrington [Sun, 12 Jul 2009 14:13:44 +0000 (22:13 +0800)]
Added a dict parameter to data_in and dealt with the consequences.

The data_in function now takes a pointer to a struct dictionary,
which must be the dictionary with which the output value is
associated.  Data_in now ensures that the data of string values
is converted to the dictionary's encoding if necessary.

15 years agoReturn 0.0 for mean of a categorical variable. Fixes bug mentioned in bug report...
Jason Stover [Sat, 11 Jul 2009 19:45:49 +0000 (15:45 -0400)]
Return 0.0 for mean of a categorical variable. Fixes bug mentioned in bug report 26861.

15 years agoRemove recoding in data_store.
John Darrington [Wed, 8 Jul 2009 19:05:24 +0000 (03:05 +0800)]
Remove recoding in data_store.

It's no longer appropriate to perform recoding in the gui.
Instead, this is expected to be done in the backend.

15 years agoChange union value type to contain uint8_t types instead of char.
John Darrington [Tue, 7 Jul 2009 16:50:57 +0000 (00:50 +0800)]
Change union value type to contain uint8_t types instead of char.

Make the members of the union value type in src/data/value.h be
uint8_t instead of char.  This is more logical since the contents
of values cannot be considered "strings" until they have been
formatted.  The unformatted values are merely arrays of bytes.

This has the added advantage of provoking compiler warnings when
a char * type is being implicitly cast to a uint8_t * or vici-versa.
When such a warning is encountered, is probably means that the
data needs to be re-encoded using recode_string.

15 years agoRemove erroneously commited diagnostic statement
John Darrington [Tue, 7 Jul 2009 16:34:16 +0000 (00:34 +0800)]
Remove erroneously commited diagnostic statement

15 years agoUse default encoding when reading system files if no encoding is given in file.
John Darrington [Tue, 7 Jul 2009 12:33:03 +0000 (20:33 +0800)]
Use default encoding when reading system files if no encoding is given in file.

15 years agoFix problem running the perl module
John Darrington [Tue, 7 Jul 2009 11:24:40 +0000 (19:24 +0800)]
Fix problem running the perl module

15 years agoReplace legacy_recode with recode_string.
John Darrington [Tue, 7 Jul 2009 09:35:21 +0000 (17:35 +0800)]
Replace legacy_recode with recode_string.

Iconv seems to do a good job of converting between
ascii and ebcdic, so use the recode_string function
instead of our own conversion routines.

15 years agoFix compile warnings
John Darrington [Tue, 7 Jul 2009 05:19:18 +0000 (13:19 +0800)]
Fix compile warnings

15 years agoFix bug in value labels dialog box
John Darrington [Tue, 7 Jul 2009 04:52:45 +0000 (12:52 +0800)]
Fix bug in value labels dialog box

15 years agoAdd dictionary argument to tab_value.
John Darrington [Tue, 7 Jul 2009 04:19:17 +0000 (12:19 +0800)]
Add dictionary argument to tab_value.

In order to properly display values, tab_value needs
to know the dictionary from whence the value comes.
This is necessary so that string values can be properly
decoded.

This change adds this argument to tab_value and updates
all callers.

15 years agoRecode strings when writing system files.
John Darrington [Mon, 6 Jul 2009 19:39:36 +0000 (03:39 +0800)]
Recode strings when writing system files.

The long variable names, variable labels and value labels are
now converted from utf8 to the dictionary encoding when
writing a system file.

15 years agoFix crash when opening empty dataset
John Darrington [Mon, 6 Jul 2009 17:38:21 +0000 (01:38 +0800)]
Fix crash when opening empty dataset

15 years agoConvert to utf8 in data_out function.
John Darrington [Mon, 6 Jul 2009 16:44:27 +0000 (00:44 +0800)]
Convert to utf8 in data_out function.

Previously, the output value of data_out was of arbitrary encoding.
This change attempts to ensure that it is always utf8.

15 years agodata_out function to dynamically allocate return value.
John Darrington [Mon, 6 Jul 2009 11:51:34 +0000 (19:51 +0800)]
data_out function to dynamically allocate return value.

Preparation for i18n of values.  Instead of asking the
caller to prepare the buffer for output, data_out now
dynamically allocates the output value, and expects the
caller to free it.  This is necessary since for utf8
strings, the caller cannot reasonably know the length of
the required output buffer.  It also simplifies some uses
of data_out.

15 years agoChange enum legacy_encoding to const char *.
John Darrington [Sun, 5 Jul 2009 12:45:12 +0000 (20:45 +0800)]
Change enum legacy_encoding to const char *.

Preparation for i18n of union values.  Remove the
legacy_encoding enum and substitute it with a const
char *.  This makes it easier to integrate recoding
of union values in the data parsing stage.

15 years agoStore variable names, labels and value labels as UTF8.
John Darrington [Sun, 5 Jul 2009 09:33:29 +0000 (17:33 +0800)]
Store variable names, labels and value labels as UTF8.

This change converts long variable names, variable labels
and value labels to utf8 encoding when system files are
loaded.  It is therefore no longer necessary (nor correct)
to convert them when displaying.

15 years agoFix bugs when input data is repeated
John Darrington [Thu, 25 Jun 2009 03:08:09 +0000 (11:08 +0800)]
Fix bugs when input data is repeated

15 years agoAdded second ROC test
John Darrington [Wed, 24 Jun 2009 08:47:38 +0000 (16:47 +0800)]
Added second ROC test

15 years agosys-file-reader: Don't warn if compression bias field is 0.
Ben Pfaff [Thu, 18 Jun 2009 04:24:38 +0000 (21:24 -0700)]
sys-file-reader: Don't warn if compression bias field is 0.

Some software writes a value of 0 to the compression bias field.  We
expect that this field has a value of 100 and warn if we see any other
value, but there is no real need to do so (because it is very likely
that we can read the file correctly in any case).  So suppress the
warning if we see a value of 0 here, because it bothers users.

Thanks to Tony Reardon <tony@sir.com.au> for reporting this
unnecessary warning.

15 years agopor-file-reader: Tolerate short lines when detecting portable files.
Ben Pfaff [Thu, 18 Jun 2009 04:11:10 +0000 (21:11 -0700)]
por-file-reader: Tolerate short lines when detecting portable files.

When the portable file reader reads a file, it assumes that a line
shorter than 80 bytes should actually be padded out on the right with
spaces, because this is a fairly common problem in practice, perhaps
due to text editors or other software that drops spaces at the end of
a line.

However, pfm_detect, the function that is supposed to detect whether
a given file is an SPSS portable file, did not apply this heuristic to
the data that it read at the beginning of the file, and thus files in
which the first few lines were truncated this way were not detected
properly as portable files.

This commit fixes the problem by making pfm_detect a little bit
smarter.  It would probably be better to actually unify the
file-reading logic, instead of implementing it in two separate places,
but this appears to work adequately too.

Thanks to Tony Reardon <tony@sir.com.au> for reporting the problem
and supplying a file that demonstrated it.