Merge change 23529 into eclair

* changes:
  Make it an error to use a bare apostrophe in aapt, and adjust warnings/errors.
This commit is contained in:
Android (Google) Code Review
2009-09-02 11:17:18 -07:00
4 changed files with 18 additions and 5 deletions

View File

@@ -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">
&amp;, AND, OR

View File

@@ -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++;

View File

@@ -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;
}
}
}

View File

@@ -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());