8036122: Fix warning 'format not a string literal'

Reviewed-by: mduigou, kvn
This commit is contained in:
Goetz Lindenmaier 2014-03-03 11:54:35 +01:00
parent e8d4b7aee3
commit 4b9933a012
5 changed files with 10 additions and 29 deletions

View file

@ -374,25 +374,8 @@ static void usage() {
"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
#define RANGE0 "[*" RANGEBASE "]"
#define RANGEDOT "[*" RANGEBASE ".]"
#define RANGESLASH "[*" RANGEBASE "/]"
// Accept several syntaxes for these patterns
// original syntax
// cmd java.lang.String foo
// PrintCompilation syntax
// cmd java.lang.String::foo
// VM syntax
// cmd java/lang/String[. ]foo
//
static const char* patterns[] = {
"%*[ \t]%255" RANGEDOT " " "%255" RANGE0 "%n",
"%*[ \t]%255" RANGEDOT "::" "%255" RANGE0 "%n",
"%*[ \t]%255" RANGESLASH "%*[ .]" "%255" RANGE0 "%n",
};
static MethodMatcher::Mode check_mode(char name[], const char*& error_msg) {
int match = MethodMatcher::Exact;
while (name[0] == '*') {
@ -421,12 +404,10 @@ static bool scan_line(const char * line,
int* bytes_read, const char*& error_msg) {
*bytes_read = 0;
error_msg = NULL;
for (uint i = 0; i < ARRAY_SIZE(patterns); i++) {
if (2 == sscanf(line, patterns[i], class_name, method_name, bytes_read)) {
*c_mode = check_mode(class_name, error_msg);
*m_mode = check_mode(method_name, error_msg);
return *c_mode != MethodMatcher::Unknown && *m_mode != MethodMatcher::Unknown;
}
if (2 == sscanf(line, "%*[ \t]%255" RANGESLASH "%*[ ]" "%255" RANGE0 "%n", class_name, method_name, bytes_read)) {
*c_mode = check_mode(class_name, error_msg);
*m_mode = check_mode(method_name, error_msg);
return *c_mode != MethodMatcher::Unknown && *m_mode != MethodMatcher::Unknown;
}
return false;
}