323 } |
323 } |
324 |
324 |
325 // Only modules defined to either the boot or platform class loader, can define a "java/" package. |
325 // Only modules defined to either the boot or platform class loader, can define a "java/" package. |
326 if (!h_loader.is_null() && |
326 if (!h_loader.is_null() && |
327 !SystemDictionary::is_platform_class_loader(h_loader) && |
327 !SystemDictionary::is_platform_class_loader(h_loader) && |
328 strncmp(package_name, JAVAPKG, JAVAPKG_LEN) == 0) { |
328 (strncmp(package_name, JAVAPKG, JAVAPKG_LEN) == 0 && |
|
329 (package_name[JAVAPKG_LEN] == '/' || package_name[JAVAPKG_LEN] == '\0'))) { |
329 const char* class_loader_name = SystemDictionary::loader_name(h_loader()); |
330 const char* class_loader_name = SystemDictionary::loader_name(h_loader()); |
330 size_t pkg_len = strlen(package_name); |
331 size_t pkg_len = strlen(package_name); |
331 char* pkg_name = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, pkg_len); |
332 char* pkg_name = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, pkg_len); |
332 strncpy(pkg_name, package_name, pkg_len); |
333 strncpy(pkg_name, package_name, pkg_len); |
333 StringUtils::replace_no_expand(pkg_name, "/", "."); |
334 StringUtils::replace_no_expand(pkg_name, "/", "."); |
746 ClassLoaderData *loader_data = module_entry->loader_data(); |
747 ClassLoaderData *loader_data = module_entry->loader_data(); |
747 |
748 |
748 // Only modules defined to either the boot or platform class loader, can define a "java/" package. |
749 // Only modules defined to either the boot or platform class loader, can define a "java/" package. |
749 if (!loader_data->is_the_null_class_loader_data() && |
750 if (!loader_data->is_the_null_class_loader_data() && |
750 !loader_data->is_platform_class_loader_data() && |
751 !loader_data->is_platform_class_loader_data() && |
751 strncmp(package_name, JAVAPKG, JAVAPKG_LEN) == 0) { |
752 (strncmp(package_name, JAVAPKG, JAVAPKG_LEN) == 0 && |
|
753 (package_name[JAVAPKG_LEN] == '/' || package_name[JAVAPKG_LEN] == '\0'))) { |
752 const char* class_loader_name = SystemDictionary::loader_name(loader_data); |
754 const char* class_loader_name = SystemDictionary::loader_name(loader_data); |
753 size_t pkg_len = strlen(package_name); |
755 size_t pkg_len = strlen(package_name); |
754 char* pkg_name = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, pkg_len); |
756 char* pkg_name = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, pkg_len); |
755 strncpy(pkg_name, package_name, pkg_len); |
757 strncpy(pkg_name, package_name, pkg_len); |
756 StringUtils::replace_no_expand(pkg_name, "/", "."); |
758 StringUtils::replace_no_expand(pkg_name, "/", "."); |