X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fdata-in.c;h=e72d1b6ad4e1fd45ff5026f301bd3ee034e4b4b3;hb=c41cd1fefc98bb4abed33754276d93db9ffe2e0e;hp=45ff609975225bb399827b3401db67192b45d462;hpb=d8493b3b0617cc447446a70b031a69079bc19002;p=pspp-builds.git diff --git a/src/data/data-in.c b/src/data/data-in.c index 45ff6099..e72d1b6a 100644 --- a/src/data/data-in.c +++ b/src/data/data-in.c @@ -1,5 +1,5 @@ /* 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 @@ -37,7 +37,6 @@ #include "libpspp/compiler.h" #include "libpspp/i18n.h" #include "libpspp/integer-format.h" -#include "libpspp/legacy-encoding.h" #include "libpspp/misc.h" #include "libpspp/str.h" #include "settings.h" @@ -116,7 +115,7 @@ data_in (struct substring input, const char *input_encoding, /* We're going to parse these into numbers. For this purpose we want to deal with them in the local "C" encoding. Any character not in that encoding wouldn't be valid anyhow. */ - dest_encoding = LEGACY_NATIVE; + dest_encoding = C_ENCODING; } else if (cat & (FMT_CAT_BINARY | FMT_CAT_LEGACY)) { @@ -130,7 +129,7 @@ data_in (struct substring input, const char *input_encoding, { /* We want the hex digits in the local "C" encoding, even though the result may not be in that encoding. */ - dest_encoding = LEGACY_NATIVE; + dest_encoding = C_ENCODING; } else { @@ -245,7 +244,7 @@ has_implied_decimals (struct substring input, const char *input_encoding, return false; } - s = recode_string (LEGACY_NATIVE, input_encoding, + s = recode_string (C_ENCODING, input_encoding, ss_data (input), ss_length (input)); retval = (format == FMT_Z ? strchr (s, '.') == NULL @@ -299,9 +298,9 @@ parse_number (struct data_in *i) ds_extend (&tmp, 64); /* Prefix character may precede sign. */ - if (!ss_is_empty (style->prefix)) + if (style->prefix.s[0] != '\0') { - ss_match_byte (&i->input, ss_first (style->prefix)); + ss_match_byte (&i->input, style->prefix.s[0]); ss_ltrim (&i->input, ss_cstr (CC_SPACES)); } @@ -318,9 +317,9 @@ parse_number (struct data_in *i) } /* Prefix character may follow sign. */ - if (!ss_is_empty (style->prefix)) + if (style->prefix.s[0] != '\0') { - ss_match_byte (&i->input, ss_first (style->prefix)); + ss_match_byte (&i->input, style->prefix.s[0]); ss_ltrim (&i->input, ss_cstr (CC_SPACES)); } @@ -367,8 +366,8 @@ parse_number (struct data_in *i) } /* Suffix character. */ - if (!ss_is_empty (style->suffix)) - ss_match_byte (&i->input, ss_first (style->suffix)); + if (style->suffix.s[0] != '\0') + ss_match_byte (&i->input, style->suffix.s[0]); if (!ss_is_empty (i->input)) {