- 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 + 1);
- strncpy(path, fullpath + longest_prefix_length, strlen(fullpath) - longest_prefix_length + 1);
- path[strlen(fullpath) - longest_prefix_length] = '\0';
- mount_name[longest_prefix_length] = '\0';
+ mount_name = std::string(fullpath).substr(0, longest_prefix_length);
+ path = std::string(fullpath).substr(longest_prefix_length, strlen(fullpath));