- if(pos>0)
- { /* Mount point found, deduce path + file name from full path (full path = mount name + path + file name)*/
- path = (char *) xbt_malloc ((strlen(fullpath)-strlen(mount_name)+1) * sizeof (char));
- strncpy(path, fullpath+pos, strlen(fullpath)-strlen(mount_name));
- path[strlen(fullpath)-strlen(mount_name)] = '\0';
+ if(longest_prefix_length>0)
+ { /* Mount point found, split fullpath into mount_name and path+filename*/
+ path = (char *) xbt_malloc ((strlen(fullpath)-longest_prefix_length+1));
+ mount_name = (char *) xbt_malloc ((longest_prefix_length+1));
+ strncpy(mount_name, fullpath, longest_prefix_length);
+ path[strlen(fullpath)-longest_prefix_length] = '\0';
+ mount_name[longest_prefix_length] = '\0';