From e64778911a9f90579a8f638eca019168d16896cf Mon Sep 17 00:00:00 2001 From: Mikachu2333 Date: Mon, 6 Oct 2025 01:57:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20xy=5Fparent=5Fdir=20?= =?UTF-8?q?=E5=86=85=E5=AD=98=E6=B3=84=E9=9C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/xy.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/xy.h b/lib/xy.h index 8b0592f..52fc421 100644 --- a/lib/xy.h +++ b/lib/xy.h @@ -1273,10 +1273,10 @@ xy_parent_dir (const char *path) char *dir = xy_normalize_path (path); /* 不管是否为Windows,全部统一使用 / 作为路径分隔符,方便后续处理 */ - dir = xy_str_gsub (dir, "\\", "/"); + xy_str_swap (&dir, xy_str_gsub (dir, "\\", "/")); if (xy_str_end_with (dir, "/")) - dir = xy_str_delete_suffix (dir, "/"); + xy_str_swap (&dir, xy_str_delete_suffix (dir, "/")); char *last = NULL; @@ -1290,9 +1290,10 @@ xy_parent_dir (const char *path) /* Windows上重新使用 \ 作为路径分隔符 */ if (xy.on_windows) - return xy_str_gsub (dir, "/", "\\"); - else - return dir; + { + xy_str_swap (&dir, xy_str_gsub (dir, "/", "\\")); + } + return dir; }