-/* 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 *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
-
- (C) 2001 by The Genes Development Team
- Original author: Peter Verthez (Peter.Verthez@advalvas.be)
-*/
+/* Conversion between encodings.
+ Copyright (C) 2001 The Genes Development Team
+ This file is part of the Gedcom parser library.
+ Contributed by Peter Verthez <Peter.Verthez@advalvas.be>, 2001.
+
+ The Gedcom parser library is free software; you can redistribute it
+ and/or modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The Gedcom parser library is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the Gedcom parser library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
/* $Id$ */
/* $Name$ */
#include "gedcom_internal.h"
#include "encoding.h"
-#define INTERNAL_ENCODING "UTF8"
#define ENCODING_CONF_FILE "gedcom.enc"
#define GCONV_SEARCH_PATH "GCONV_PATH"
#define MAXBUF 255
strcpy(nodeptr->iconv_name, iconv_n);
datum = tsearch(nodeptr, &encoding_mapping, node_compare);
if ((datum == NULL) || (*datum != nodeptr)) {
- gedcom_warning("Duplicate entry found for encoding '%s', ignoring",
+ gedcom_warning(_("Duplicate entry found for encoding '%s', ignoring"),
gedcom_n);
}
}
datum = tfind(&search_node, &encoding_mapping, node_compare);
free(buffer);
if (datum == NULL) {
- gedcom_error("No encoding found for '%s'", gedcom_n);
+ gedcom_error(_("No encoding defined for '%s'"), gedcom_n);
return NULL;
}
else {
GCONV_SEARCH_PATH, gconv_path, PKGDATADIR);
}
if (putenv(new_gconv_path) != 0) {
- gedcom_warning("Failed updating environment variable %s",
- GCONV_SEARCH_PATH);
+ gedcom_warning(_("Failed updating conversion module path"));
}
- printf("%s\n", new_gconv_path);
}
/* Open gedcom configuration file and read */
in = fopen(path, "r");
}
if (in == NULL) {
- gedcom_warning("Could not open encoding configuration file '%s'",
+ gedcom_warning(_("Could not open encoding configuration file '%s'"),
ENCODING_CONF_FILE);
}
else {
+ line_no = 1;
while (fgets(buffer, sizeof(buffer), in) != NULL) {
if (buffer[strlen(buffer) - 1] != '\n') {
- gedcom_error("Line too long in encoding configuration file '%s'",
+ gedcom_error(_("Line too long in encoding configuration file '%s'"),
ENCODING_CONF_FILE);
return;
}
add_encoding(gedcom_n, charwidth, iconv_n);
}
else {
- gedcom_error("Missing data in encoding configuration file '%s'",
+ gedcom_error(_("Missing data in encoding configuration file '%s'"),
ENCODING_CONF_FILE);
return;
}
conv_buf_size = 0;
cd_to_internal = iconv_open(INTERNAL_ENCODING, encoding);
if (cd_to_internal == (iconv_t) -1) {
- gedcom_error("Error opening conversion context for encoding %s: %s",
+ gedcom_error(_("Error opening conversion context for encoding %s: %s"),
encoding, strerror(errno));
}
}