diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-02 11:17:18 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-02 11:17:18 -0700 |
| commit | 66c70e13d9f39cf82df8542fe53f2049d3f2062e (patch) | |
| tree | 592607f78192270c93e56f314ad215d7b244d8eb | |
| parent | 040571aa2f71031376ff37ffa827d3612eb89340 (diff) | |
| parent | c87d25215c842cea370c6a86ce67585fa8da4900 (diff) | |
| download | frameworks_base-66c70e13d9f39cf82df8542fe53f2049d3f2062e.zip frameworks_base-66c70e13d9f39cf82df8542fe53f2049d3f2062e.tar.gz frameworks_base-66c70e13d9f39cf82df8542fe53f2049d3f2062e.tar.bz2 | |
Merge change 23529 into eclair
* changes:
Make it an error to use a bare apostrophe in aapt, and adjust warnings/errors.
| -rw-r--r-- | core/res/res/values-en-rUS/donottranslate-names.xml | 2 | ||||
| -rw-r--r-- | libs/utils/ResourceTypes.cpp | 11 | ||||
| -rw-r--r-- | tools/aapt/ResourceTable.cpp | 3 | ||||
| -rw-r--r-- | tools/aapt/XMLNode.cpp | 7 |
4 files changed, 18 insertions, 5 deletions
diff --git a/core/res/res/values-en-rUS/donottranslate-names.xml b/core/res/res/values-en-rUS/donottranslate-names.xml index 42c8ab4..82ba310 100644 --- a/core/res/res/values-en-rUS/donottranslate-names.xml +++ b/core/res/res/values-en-rUS/donottranslate-names.xml @@ -147,7 +147,7 @@ MD, MS, PH.D., PHD, SR, V, VI, VII, VIII, X </string> <string name="common_last_name_prefixes"> - D', DE, DEL, DI, LA, LE, MC, SAN, ST, TER, VAN, VON + D\', DE, DEL, DI, LA, LE, MC, SAN, ST, TER, VAN, VON </string> <string name="common_name_conjunctions"> &, AND, OR diff --git a/libs/utils/ResourceTypes.cpp b/libs/utils/ResourceTypes.cpp index 0831f4a..f80843d 100644 --- a/libs/utils/ResourceTypes.cpp +++ b/libs/utils/ResourceTypes.cpp @@ -3284,7 +3284,16 @@ bool ResTable::collectString(String16* outString, break; } if (c == '\'' && (quoted == 0 || quoted == '\'')) { - break; + /* + * In practice, when people write ' instead of \' + * in a string, they are doing it by accident + * instead of really meaning to use ' as a quoting + * character. Warn them so they don't lose it. + */ + if (outErrorMsg) { + *outErrorMsg = "Apostrophe not preceded by \\"; + } + return false; } } p++; diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp index 95a2384..f9d2434 100644 --- a/tools/aapt/ResourceTable.cpp +++ b/tools/aapt/ResourceTable.cpp @@ -2364,13 +2364,12 @@ ResourceTable::validateLocalizations(void) String8 region(config.string(), 2); if (configSet.find(region) == configSet.end()) { if (configSet.count(defaultLocale) == 0) { - fprintf(stdout, "aapt: error: " + fprintf(stdout, "aapt: warning: " "*** string '%s' has no default or required localization " "for '%s' in %s\n", String8(nameIter->first).string(), config.string(), mBundle->getResourceSourceDirs()[0]); - err = UNKNOWN_ERROR; } } } diff --git a/tools/aapt/XMLNode.cpp b/tools/aapt/XMLNode.cpp index 6daa0d2..d4d2a45 100644 --- a/tools/aapt/XMLNode.cpp +++ b/tools/aapt/XMLNode.cpp @@ -219,7 +219,12 @@ moveon: } spanStack.pop(); - if (empty) { + /* + * This warning seems to be just an irritation to most people, + * since it is typically introduced by translators who then never + * see the warning. + */ + if (0 && empty) { fprintf(stderr, "%s:%d: warning: empty '%s' span found in text '%s'\n", fileName, inXml->getLineNumber(), String8(spanTag).string(), String8(*outString).string()); |
