262 |
262 |
263 if (2 == sscanf(line, "%255" RANGESLASH "%*[ ]" "%255" RANGE0 "%n", class_name, method_name, &bytes_read)) { |
263 if (2 == sscanf(line, "%255" RANGESLASH "%*[ ]" "%255" RANGE0 "%n", class_name, method_name, &bytes_read)) { |
264 c_match = check_mode(class_name, error_msg); |
264 c_match = check_mode(class_name, error_msg); |
265 m_match = check_mode(method_name, error_msg); |
265 m_match = check_mode(method_name, error_msg); |
266 |
266 |
267 if ((strchr(class_name, '<') != NULL) || (strchr(class_name, '>') != NULL)) { |
267 if ((strchr(class_name, JVM_SIGNATURE_SPECIAL) != NULL) || |
|
268 (strchr(class_name, JVM_SIGNATURE_ENDSPECIAL) != NULL)) { |
268 error_msg = "Chars '<' and '>' not allowed in class name"; |
269 error_msg = "Chars '<' and '>' not allowed in class name"; |
269 return; |
270 return; |
270 } |
271 } |
271 if ((strchr(method_name, '<') != NULL) || (strchr(method_name, '>') != NULL)) { |
272 if ((strchr(method_name, JVM_SIGNATURE_SPECIAL) != NULL) || |
|
273 (strchr(method_name, JVM_SIGNATURE_ENDSPECIAL) != NULL)) { |
272 if ((strncmp("<init>", method_name, 255) != 0) && (strncmp("<clinit>", method_name, 255) != 0)) { |
274 if ((strncmp("<init>", method_name, 255) != 0) && (strncmp("<clinit>", method_name, 255) != 0)) { |
273 error_msg = "Chars '<' and '>' only allowed in <init> and <clinit>"; |
275 error_msg = "Chars '<' and '>' only allowed in <init> and <clinit>"; |
274 return; |
276 return; |
275 } |
277 } |
276 } |
278 } |