projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid warnings when opening a new system file.
[pspp-builds.git]
/
src
/
data
/
por-file-reader.c
diff --git
a/src/data/por-file-reader.c
b/src/data/por-file-reader.c
index b5486a4a0e3dcfa1ee795869b46a2922fe03b725..7e65c28bdf51c11b54f1f6ddd9eced26670b6197 100644
(file)
--- a/
src/data/por-file-reader.c
+++ b/
src/data/por-file-reader.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006
, 2009
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
@@
-79,7
+79,7
@@
struct pfm_reader
bool ok; /* Set false on I/O error. */
};
bool ok; /* Set false on I/O error. */
};
-static struct casereader_class por_file_casereader_class;
+static
const
struct casereader_class por_file_casereader_class;
static void
error (struct pfm_reader *r, const char *msg,...)
static void
error (struct pfm_reader *r, const char *msg,...)
@@
-509,8
+509,9
@@
read_header (struct pfm_reader *r)
static void
read_version_data (struct pfm_reader *r, struct pfm_read_info *info)
{
static void
read_version_data (struct pfm_reader *r, struct pfm_read_info *info)
{
- static char empty_string[] = "";
- char *date, *time, *product, *author, *subproduct;
+ static const char empty_string[] = "";
+ char *date, *time;
+ const char *product, *author, *subproduct;
int i;
/* Read file. */
int i;
/* Read file. */
@@
-813,28
+814,30
@@
read_documents (struct pfm_reader *r, struct dictionary *dict)
}
}
}
}
-/* Reads one case from portable file R into C. */
-static bool
-por_file_casereader_read (struct casereader *reader, void *r_, struct ccase *c)
+/* Reads and returns one case from portable file R. Returns a
+ null pointer on failure. */
+static struct ccase *
+por_file_casereader_read (struct casereader *reader, void *r_)
{
struct pfm_reader *r = r_;
{
struct pfm_reader *r = r_;
+ struct ccase *volatile c;
size_t i;
size_t idx;
size_t i;
size_t idx;
- c
ase_create (c,
casereader_get_value_cnt (reader));
+ c
= case_create (
casereader_get_value_cnt (reader));
setjmp (r->bail_out);
if (!r->ok)
{
casereader_force_error (reader);
setjmp (r->bail_out);
if (!r->ok)
{
casereader_force_error (reader);
- case_
destroy
(c);
- return
false
;
+ case_
unref
(c);
+ return
NULL
;
}
/* Check for end of file. */
if (r->cc == 'Z')
{
}
/* Check for end of file. */
if (r->cc == 'Z')
{
- case_
destroy
(c);
- return
false
;
+ case_
unref
(c);
+ return
NULL
;
}
idx = 0;
}
idx = 0;
@@
-856,7
+859,7
@@
por_file_casereader_read (struct casereader *reader, void *r_, struct ccase *c)
}
}
}
}
- return
true
;
+ return
c
;
}
/* Returns true if FILE is an SPSS portable file,
}
/* Returns true if FILE is an SPSS portable file,
@@
-894,7
+897,7
@@
pfm_detect (FILE *file)
return true;
}
return true;
}
-static struct casereader_class por_file_casereader_class =
+static
const
struct casereader_class por_file_casereader_class =
{
por_file_casereader_read,
por_file_casereader_destroy,
{
por_file_casereader_read,
por_file_casereader_destroy,