projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
por-file-reader: Remove dependency on VAR_NAME_LEN.
[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 b729770a91c7c294b99b0cbe5172245bdef128b0..bee1008ee36b939ba7c719e0be5e66fb32b37ec1 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, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010
, 2011
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
@@
-37,14
+37,14
@@
#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>
-#include <libpspp/hash.h>
#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/pool.h>
#include <libpspp/str.h>
#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/pool.h>
#include <libpspp/str.h>
-#include "minmax.h"
-#include "xalloc.h"
+#include "gl/intprops.h"
+#include "gl/minmax.h"
+#include "gl/xalloc.h"
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "gettext.h"
#define _(msgid) gettext (msgid)
@@
-106,6
+106,8
@@
error (struct pfm_reader *r, const char *msg, ...)
m.severity = MSG_S_ERROR;
m.where.file_name = NULL;
m.where.line_number = 0;
m.severity = MSG_S_ERROR;
m.where.file_name = NULL;
m.where.line_number = 0;
+ m.where.first_column = 0;
+ m.where.last_column = 0;
m.text = ds_cstr (&text);
msg_emit (&m);
m.text = ds_cstr (&text);
msg_emit (&m);
@@
-135,6
+137,8
@@
warning (struct pfm_reader *r, const char *msg, ...)
m.severity = MSG_S_WARNING;
m.where.file_name = NULL;
m.where.line_number = 0;
m.severity = MSG_S_WARNING;
m.where.file_name = NULL;
m.where.line_number = 0;
+ m.where.first_column = 0;
+ m.where.last_column = 0;
m.text = ds_cstr (&text);
msg_emit (&m);
m.text = ds_cstr (&text);
msg_emit (&m);
@@
-153,7
+157,7
@@
close_reader (struct pfm_reader *r)
{
if (fn_close (fh_get_file_name (r->fh), r->file) == EOF)
{
{
if (fn_close (fh_get_file_name (r->fh), r->file) == EOF)
{
- msg (ME, _("Error closing portable file
\"%s\"
: %s."),
+ msg (ME, _("Error closing portable file
`%s'
: %s."),
fh_get_file_name (r->fh), strerror (errno));
r->ok = false;
}
fh_get_file_name (r->fh), strerror (errno));
r->ok = false;
}
@@
-272,7
+276,7
@@
pfm_open_reader (struct file_handle *fh, struct dictionary **dict,
r->file = fn_open (fh_get_file_name (r->fh), "rb");
if (r->file == NULL)
{
r->file = fn_open (fh_get_file_name (r->fh), "rb");
if (r->file == NULL)
{
- msg (ME, _("An error occurred while opening
\"%s\"
for reading "
+ msg (ME, _("An error occurred while opening
`%s'
for reading "
"as a portable file: %s."),
fh_get_file_name (r->fh), strerror (errno));
goto error;
"as a portable file: %s."),
fh_get_file_name (r->fh), strerror (errno));
goto error;
@@
-687,17
+691,15
@@
read_variables (struct pfm_reader *r, struct dictionary *dict)
v = dict_create_var (dict, name, width);
if (v == NULL)
{
v = dict_create_var (dict, name, width);
if (v == NULL)
{
- int i;
- for (i = 1;
i < 100000
; i++)
+
unsigned long
int i;
+ for (i = 1; ; i++)
{
{
- char try_name[
VAR_NAME_LEN
+ 1];
- sprintf (try_name, "%
.*s_%d", VAR_NAME_LEN - 6
, name, i);
+ char try_name[
8 + 1 + INT_STRLEN_BOUND (i)
+ 1];
+ sprintf (try_name, "%
s_%lu"
, 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;
}
- if (v == NULL)
- error (r, _("Duplicate variable name %s in position %d."), name, i);
warning (r, _("Duplicate variable name %s in position %d renamed "
"to %s."), name, i, var_get_name (v));
}
warning (r, _("Duplicate variable name %s in position %d renamed "
"to %s."), name, i, var_get_name (v));
}