src/solaris/demo/jvmti/hprof/hprof_md.c
Print this page
rev 6641 : [mq]: PrivateTransportTest
@@ -383,26 +383,31 @@
static void dll_build_name(char* buffer, size_t buflen,
const char* pname, const char* fname) {
// Loosely based on os_solaris.cpp
char *pathname = (char *)pname;
+ *buffer = '\0';
while (strlen(pathname) > 0) {
char *p = strchr(pathname, ':');
if (p == NULL) {
p = pathname + strlen(pathname);
}
/* check for NULL path */
if (p == pathname) {
continue;
}
(void)snprintf(buffer, buflen, "%.*s/lib%s" JNI_LIB_SUFFIX,
- (p - pathname), pathname, fname);
+ (int)(p - pathname), pathname, fname);
if (access(buffer, F_OK) == 0) {
break;
}
+ if (*p == '\0') {
+ pathname = p;
+ } else {
pathname = p + 1;
+ }
*buffer = '\0';
}
}
/* Create the actual fill filename for a dynamic library. */