f_string_static_t path = f_string_static_t_initialize;
if (global.setting->path_setting.used) {
- path.used = global.setting->path_setting.used + F_path_separator_s_length + cache->action.name_file.used;
+ path.used = global.setting->path_setting.used + cache->action.name_file.used;
+
+ if (global.setting->path_setting.string[global.setting->path_setting.used - 1] != f_path_separator_s.string[0]) {
+ path.used += f_path_separator_s.used;
+ }
}
else {
path.used = cache->action.name_file.used;
if (global.setting->path_setting.used) {
memcpy(path_string, global.setting->path_setting.string, sizeof(f_char_t) * global.setting->path_setting.used);
- memcpy(path_string + global.setting->path_setting.used + F_path_separator_s_length, cache->action.name_file.string, sizeof(f_char_t) * cache->action.name_file.used);
- path_string[global.setting->path_setting.used] = f_path_separator_s.string[0];
+ if (global.setting->path_setting.string[global.setting->path_setting.used - 1] == f_path_separator_s.string[0]) {
+ memcpy(path_string + global.setting->path_setting.used, cache->action.name_file.string, sizeof(f_char_t) * cache->action.name_file.used);
+ }
+ else {
+ memcpy(path_string + global.setting->path_setting.used + F_path_separator_s_length, cache->action.name_file.string, sizeof(f_char_t) * cache->action.name_file.used);
+
+ path_string[global.setting->path_setting.used] = f_path_separator_s.string[0];
+ }
}
else {
memcpy(path_string, cache->action.name_file.string, sizeof(f_char_t) * cache->action.name_file.used);