diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2009-10-22 11:32:13 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2009-10-22 11:32:13 +0800 |
commit | b812e4cd76f74dc59e3f2b9b0d9d394903b4d171 (patch) | |
tree | 4ec6c497dc9abb9a91c7eeb6f38b7c1c854534eb | |
parent | 9cf217abfa24c2064e8b2283b9bf133d836c5c03 (diff) | |
download | pttbbs-b812e4cd76f74dc59e3f2b9b0d9d394903b4d171.tar pttbbs-b812e4cd76f74dc59e3f2b9b0d9d394903b4d171.tar.gz pttbbs-b812e4cd76f74dc59e3f2b9b0d9d394903b4d171.tar.bz2 pttbbs-b812e4cd76f74dc59e3f2b9b0d9d394903b4d171.tar.lz pttbbs-b812e4cd76f74dc59e3f2b9b0d9d394903b4d171.tar.xz pttbbs-b812e4cd76f74dc59e3f2b9b0d9d394903b4d171.tar.zst pttbbs-b812e4cd76f74dc59e3f2b9b0d9d394903b4d171.zip |
* add DBCS safe trim API
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@4949 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/common/sys/string.c | 8 | ||||
-rw-r--r-- | pttbbs/include/cmsys.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/pttbbs/common/sys/string.c b/pttbbs/common/sys/string.c index dbcd396a..7b071ba7 100644 --- a/pttbbs/common/sys/string.c +++ b/pttbbs/common/sys/string.c @@ -345,6 +345,14 @@ int DBCS_Status(const char *dbcstr, int pos) return sts; } +void DBCS_safe_trim(char *dbcstr) +{ + int len = strlen(dbcstr); + if (len < 1) return; + if (DBCS_Status(dbcstr, len-1) == DBCS_LEADING) + dbcstr[len-1] = 0; +} + /** * DBCS_strcasestr(pool, ptr): 在字串 pool 中尋找 ptr (只忽略英文大小寫) */ diff --git a/pttbbs/include/cmsys.h b/pttbbs/include/cmsys.h index 89ad93d5..7704191c 100644 --- a/pttbbs/include/cmsys.h +++ b/pttbbs/include/cmsys.h @@ -106,6 +106,7 @@ extern unsigned StringHash(const char *s); /* DBCS utilities */ extern int DBCS_RemoveIntrEscape(unsigned char *buf, int *len); extern int DBCS_Status(const char *dbcstr, int pos); +extern void DBCS_safe_trim(char *dbcstr); extern char * DBCS_strcasestr(const char* pool, const char *ptr); extern size_t str_iconv( const char *fromcode, /* charset of source string */ |