Rename xy_strjoin() to xy_strcat()

This commit is contained in:
Aoran Zeng
2025-08-20 12:25:08 +08:00
parent 6fb8677451
commit 9023f8d0e7

View File

@@ -246,8 +246,12 @@ xy_str_gsub (const char *str, const char *pat, const char *replace)
return ret; return ret;
} }
/**
* @flavor 见 xy_strcat()
*/
static char * static char *
xy_2strjoin (const char *str1, const char *str2) xy_2strcat (const char *str1, const char *str2)
{ {
size_t len = strlen (str1); size_t len = strlen (str1);
size_t size = len + strlen (str2) + 1; size_t size = len + strlen (str2) + 1;
@@ -257,17 +261,26 @@ xy_2strjoin (const char *str1, const char *str2)
return ret; return ret;
} }
/* @deprecated 应迁移到后者 */
#define xy_2strjoin xy_2strcat
/** /**
* @brief 将多个字符串连接成一个字符串 * @brief 将多个字符串连接成一个字符串
* *
* @flavor C语言存在 strcat(),然而限制比较大,我们重新实现
* `concat` 这个API广泛应用于包括 Ruby、JavaScript、JVM family、C#
*
* 但由于 xy_str_concat() 显著长于 xy_strcat(),而这个 API 在 chsrc 中
* 又大量使用,所以我们选择后者这个更简短的形式
*
* @param count 连接的字符串数量 * @param count 连接的字符串数量
* @param ... 连接的字符串 * @param ... 连接的字符串
* *
* @return 拼接的新字符串 * @return 拼接的新字符串
*/ */
static char * static char *
xy_strjoin (unsigned int count, ...) xy_strcat (unsigned int count, ...)
{ {
size_t al_fixed = 256; size_t al_fixed = 256;
char *ret = calloc (1, al_fixed); char *ret = calloc (1, al_fixed);
@@ -320,6 +333,9 @@ xy_strjoin (unsigned int count, ...)
return ret; return ret;
} }
/* @deprecated 应迁移到后者 */
#define xy_strjoin xy_strcat
/** /**
* @brief 复制一个字符串,返回复制的新字符串 * @brief 复制一个字符串,返回复制的新字符串