summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-02-14 20:59:53 +0000
committerBenny Prijono <bennylp@teluu.com>2006-02-14 20:59:53 +0000
commit651dcb6f4a4e36b5cb7b604a30c7107333fbebc4 (patch)
tree252e73a248e2016861cff53c0facca539639a47b
parent7b870081568c70589e6cec9e75f9784196e03e03 (diff)
Added pj_strcat2
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@180 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib/include/pj/string.h10
-rw-r--r--pjlib/include/pj/string_i.h29
2 files changed, 29 insertions, 10 deletions
diff --git a/pjlib/include/pj/string.h b/pjlib/include/pj/string.h
index d6fe54ce..34134fd6 100644
--- a/pjlib/include/pj/string.h
+++ b/pjlib/include/pj/string.h
@@ -426,6 +426,16 @@ PJ_IDECL(int) pj_strnicmp2( const pj_str_t *str1, const char *str2,
*/
PJ_IDECL(void) pj_strcat(pj_str_t *dst, const pj_str_t *src);
+
+/**
+ * Concatenate strings.
+ *
+ * @param dst The destination string.
+ * @param src The source string.
+ */
+PJ_IDECL(void) pj_strcat2(pj_str_t *dst, const char *str);
+
+
/**
* Finds a character in a string.
*
diff --git a/pjlib/include/pj/string_i.h b/pjlib/include/pj/string_i.h
index 937b0840..928c8852 100644
--- a/pjlib/include/pj/string_i.h
+++ b/pjlib/include/pj/string_i.h
@@ -23,7 +23,7 @@ PJ_IDEF(pj_str_t) pj_str(char *str)
{
pj_str_t dst;
dst.ptr = str;
- dst.slen = str ? pj_native_strlen(str) : 0;
+ dst.slen = str ? pj_ansi_strlen(str) : 0;
return dst;
}
@@ -58,7 +58,7 @@ PJ_IDEF(pj_str_t*) pj_strdup2(pj_pool_t *pool,
pj_str_t *dst,
const char *src)
{
- dst->slen = src ? pj_native_strlen(src) : 0;
+ dst->slen = src ? pj_ansi_strlen(src) : 0;
if (dst->slen) {
dst->ptr = (char*)pj_pool_alloc(pool, dst->slen);
pj_memcpy(dst->ptr, src, dst->slen);
@@ -93,7 +93,7 @@ PJ_IDEF(pj_str_t*) pj_strcpy(pj_str_t *dst, const pj_str_t *src)
PJ_IDEF(pj_str_t*) pj_strcpy2(pj_str_t *dst, const char *src)
{
- dst->slen = src ? pj_native_strlen(src) : 0;
+ dst->slen = src ? pj_ansi_strlen(src) : 0;
if (dst->slen > 0)
pj_memcpy(dst->ptr, src, dst->slen);
return dst;
@@ -131,7 +131,7 @@ PJ_IDEF(int) pj_strcmp( const pj_str_t *str1, const pj_str_t *str2)
if (diff) {
return diff > 0 ? 1 : -1;
} else if (str1->ptr && str1->slen) {
- return pj_native_strncmp(str1->ptr, str2->ptr, str1->slen);
+ return pj_ansi_strncmp(str1->ptr, str2->ptr, str1->slen);
} else {
return 0;
}
@@ -141,7 +141,7 @@ PJ_IDEF(int) pj_strncmp( const pj_str_t *str1, const pj_str_t *str2,
pj_size_t len)
{
if (str1->ptr && str2->ptr)
- return pj_native_strncmp(str1->ptr, str2->ptr, len);
+ return pj_ansi_strncmp(str1->ptr, str2->ptr, len);
else if (str2->ptr)
return str2->slen==0 ? 0 : -1;
else if (str1->ptr)
@@ -156,7 +156,7 @@ PJ_IDEF(int) pj_strncmp2( const pj_str_t *str1, const char *str2,
if (len == 0)
return 0;
else if (str1->ptr && str2)
- return pj_native_strncmp(str1->ptr, str2, len);
+ return pj_ansi_strncmp(str1->ptr, str2, len);
else if (str1->ptr)
return str1->slen==0 ? 0 : 1;
else if (str2)
@@ -181,7 +181,7 @@ PJ_IDEF(int) pj_stricmp( const pj_str_t *str1, const pj_str_t *str2)
} else if (len == 0) {
return 0;
} else {
- return pj_native_strnicmp(str1->ptr, str2->ptr, len);
+ return pj_ansi_strnicmp(str1->ptr, str2->ptr, len);
}
}
@@ -257,7 +257,7 @@ PJ_IDEF(int) pj_stricmp_alnum(const pj_str_t *str1, const pj_str_t *str2)
PJ_IDEF(int) pj_stricmp2( const pj_str_t *str1, const char *str2)
{
if (str1->ptr && str2)
- return pj_native_strnicmp(str1->ptr, str2, str1->slen);
+ return pj_ansi_strnicmp(str1->ptr, str2, str1->slen);
else if (str2)
return (*str2=='\0') ? 0 : -1;
else if (str1->ptr)
@@ -270,7 +270,7 @@ PJ_IDEF(int) pj_strnicmp( const pj_str_t *str1, const pj_str_t *str2,
pj_size_t len)
{
if (str1->ptr && str2->ptr)
- return pj_native_strnicmp(str1->ptr, str2->ptr, len);
+ return pj_ansi_strnicmp(str1->ptr, str2->ptr, len);
else if (str2->ptr)
return str2->slen==0 ? 0 : -1;
else if (str1->ptr)
@@ -285,7 +285,7 @@ PJ_IDEF(int) pj_strnicmp2( const pj_str_t *str1, const char *str2,
if (len == 0)
return 0;
else if (str1->ptr && str2)
- return pj_native_strnicmp(str1->ptr, str2, len);
+ return pj_ansi_strnicmp(str1->ptr, str2, len);
else if (str1->ptr)
return str1->slen==0 ? 0 : 1;
else if (str2)
@@ -303,6 +303,15 @@ PJ_IDEF(void) pj_strcat(pj_str_t *dst, const pj_str_t *src)
}
}
+PJ_IDEF(void) pj_strcat2(pj_str_t *dst, const char *str)
+{
+ unsigned len = pj_ansi_strlen(str);
+ if (len) {
+ pj_memcpy(dst->ptr + dst->slen, str, len);
+ dst->slen += len;
+ }
+}
+
PJ_IDEF(pj_str_t*) pj_strtrim( pj_str_t *str )
{
pj_strltrim(str);