projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove redundant test in lex_is_idn().
[pspp]
/
src
/
data
/
por-file-reader.c
diff --git
a/src/data/por-file-reader.c
b/src/data/por-file-reader.c
index ce1f562f4f9389f323acacdeff5f606e289f68a7..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
@@
-33,6
+33,7
@@
#include <data/file-name.h>
#include <data/format.h>
#include <data/missing-values.h>
#include <data/file-name.h>
#include <data/format.h>
#include <data/missing-values.h>
+#include <data/short-names.h>
#include <data/value-labels.h>
#include <data/variable.h>
#include <libpspp/compiler.h>
#include <data/value-labels.h>
#include <data/variable.h>
#include <libpspp/compiler.h>
@@
-78,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,...)
@@
-508,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. */
@@
-669,8
+671,8
@@
read_variables (struct pfm_reader *r, struct dictionary *dict)
int i;
for (i = 1; i < 100000; i++)
{
int i;
for (i = 1; i < 100000; i++)
{
- char try_name[
LONG
_NAME_LEN + 1];
- sprintf (try_name, "%.*s_%d",
LONG
_NAME_LEN - 6, name, i);
+ char try_name[
VAR
_NAME_LEN + 1];
+ sprintf (try_name, "%.*s_%d",
VAR
_NAME_LEN - 6, name, i);
v = dict_create_var (dict, try_name, width);
if (v != NULL)
break;
v = dict_create_var (dict, try_name, width);
if (v != NULL)
break;
@@
-692,12
+694,12
@@
read_variables (struct pfm_reader *r, struct dictionary *dict)
{
double x = read_float (r);
double y = read_float (r);
{
double x = read_float (r);
double y = read_float (r);
- mv_add_
num_
range (&miss, x, y);
+ mv_add_range (&miss, x, y);
}
else if (match (r, 'A'))
}
else if (match (r, 'A'))
- mv_add_
num_
range (&miss, read_float (r), HIGHEST);
+ mv_add_range (&miss, read_float (r), HIGHEST);
else if (match (r, '9'))
else if (match (r, '9'))
- mv_add_
num_
range (&miss, LOWEST, read_float (r));
+ mv_add_range (&miss, LOWEST, read_float (r));
/* Single missing values. */
while (match (r, '8'))
/* Single missing values. */
while (match (r, '8'))
@@
-812,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;
@@
-855,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,
@@
-893,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,