summaryrefslogtreecommitdiff
path: root/src/VBox/Runtime/common/string/stringalloc.cpp
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2010-07-28 03:15:35 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2010-07-28 03:15:35 +0000
commit880b597dbb7fa9f448a7471a54509af9a7ea7fee (patch)
tree33d640c478540c8473449f14961b94319a1fcf73 /src/VBox/Runtime/common/string/stringalloc.cpp
parent58e3fc8fd1cf7fe3593ec8716e9945e280db607f (diff)
downloadVirtualBox-svn-880b597dbb7fa9f448a7471a54509af9a7ea7fee.tar.gz
iprt,++: Tag allocation in all builds with a string, defaulting to __FILE__.
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@31157 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'src/VBox/Runtime/common/string/stringalloc.cpp')
-rw-r--r--src/VBox/Runtime/common/string/stringalloc.cpp72
1 files changed, 31 insertions, 41 deletions
diff --git a/src/VBox/Runtime/common/string/stringalloc.cpp b/src/VBox/Runtime/common/string/stringalloc.cpp
index d7b2f1fc007..7f7e31f0a5c 100644
--- a/src/VBox/Runtime/common/string/stringalloc.cpp
+++ b/src/VBox/Runtime/common/string/stringalloc.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -39,19 +39,19 @@
-RTDECL(char *) RTStrAlloc(size_t cb)
+RTDECL(char *) RTStrAllocTag(size_t cb, const char *pszTag)
{
- char *psz = (char *)RTMemAlloc(RT_MAX(cb, 1));
+ char *psz = (char *)RTMemAllocTag(RT_MAX(cb, 1), pszTag);
if (psz)
*psz = '\0';
return psz;
}
-RT_EXPORT_SYMBOL(RTStrAlloc);
+RT_EXPORT_SYMBOL(RTStrAllocTag);
-RTDECL(int) RTStrAllocEx(char **ppsz, size_t cb)
+RTDECL(int) RTStrAllocExTag(char **ppsz, size_t cb, const char *pszTag)
{
- char *psz = *ppsz = (char *)RTMemAlloc(RT_MAX(cb, 1));
+ char *psz = *ppsz = (char *)RTMemAllocTag(RT_MAX(cb, 1), pszTag);
if (psz)
{
*psz = '\0';
@@ -59,10 +59,10 @@ RTDECL(int) RTStrAllocEx(char **ppsz, size_t cb)
}
return VERR_NO_STR_MEMORY;
}
-RT_EXPORT_SYMBOL(RTStrAlloc);
+RT_EXPORT_SYMBOL(RTStrAllocTag);
-RTDECL(int) RTStrRealloc(char **ppsz, size_t cbNew)
+RTDECL(int) RTStrReallocTag(char **ppsz, size_t cbNew, const char *pszTag)
{
char *pszOld = *ppsz;
if (!cbNew)
@@ -72,7 +72,7 @@ RTDECL(int) RTStrRealloc(char **ppsz, size_t cbNew)
}
else if (pszOld)
{
- char *pszNew = (char *)RTMemRealloc(pszOld, cbNew);
+ char *pszNew = (char *)RTMemReallocTag(pszOld, cbNew, pszTag);
if (!pszNew)
return VERR_NO_STR_MEMORY;
pszNew[cbNew - 1] = '\0';
@@ -80,7 +80,7 @@ RTDECL(int) RTStrRealloc(char **ppsz, size_t cbNew)
}
else
{
- char *pszNew = (char *)RTMemAlloc(cbNew);
+ char *pszNew = (char *)RTMemAllocTag(cbNew, pszTag);
if (!pszNew)
return VERR_NO_STR_MEMORY;
pszNew[0] = '\0';
@@ -89,6 +89,7 @@ RTDECL(int) RTStrRealloc(char **ppsz, size_t cbNew)
}
return VINF_SUCCESS;
}
+RT_EXPORT_SYMBOL(RTStrReallocTag);
RTDECL(void) RTStrFree(char *pszString)
{
@@ -98,25 +99,25 @@ RTDECL(void) RTStrFree(char *pszString)
RT_EXPORT_SYMBOL(RTStrFree);
-RTDECL(char *) RTStrDup(const char *pszString)
+RTDECL(char *) RTStrDupTag(const char *pszString, const char *pszTag)
{
AssertPtr(pszString);
size_t cch = strlen(pszString) + 1;
- char *psz = (char *)RTMemAlloc(cch);
+ char *psz = (char *)RTMemAllocTag(cch, pszTag);
if (psz)
memcpy(psz, pszString, cch);
return psz;
}
-RT_EXPORT_SYMBOL(RTStrDup);
+RT_EXPORT_SYMBOL(RTStrDupTag);
-RTDECL(int) RTStrDupEx(char **ppszString, const char *pszString)
+RTDECL(int) RTStrDupExTag(char **ppszString, const char *pszString, const char *pszTag)
{
AssertPtr(ppszString);
AssertPtr(pszString);
size_t cch = strlen(pszString) + 1;
- char *psz = (char *)RTMemAlloc(cch);
+ char *psz = (char *)RTMemAllocTag(cch, pszTag);
if (psz)
{
memcpy(psz, pszString, cch);
@@ -125,15 +126,15 @@ RTDECL(int) RTStrDupEx(char **ppszString, const char *pszString)
}
return VERR_NO_MEMORY;
}
-RT_EXPORT_SYMBOL(RTStrDupEx);
+RT_EXPORT_SYMBOL(RTStrDupExTag);
-RTDECL(char *) RTStrDupN(const char *pszString, size_t cchMax)
+RTDECL(char *) RTStrDupNTag(const char *pszString, size_t cchMax, const char *pszTag)
{
AssertPtr(pszString);
char const *pszEnd = RTStrEnd(pszString, cchMax);
size_t cch = pszEnd ? (uintptr_t)pszEnd - (uintptr_t)pszString : cchMax;
- char *pszDst = (char *)RTMemAlloc(cch + 1);
+ char *pszDst = (char *)RTMemAllocTag(cch + 1, pszTag);
if (pszDst)
{
memcpy(pszDst, pszString, cch);
@@ -141,18 +142,18 @@ RTDECL(char *) RTStrDupN(const char *pszString, size_t cchMax)
}
return pszDst;
}
-RT_EXPORT_SYMBOL(RTStrDupN);
+RT_EXPORT_SYMBOL(RTStrDupNTag);
-RTDECL(int) RTStrAAppend(char **ppsz, const char *pszAppend)
+RTDECL(int) RTStrAAppendTag(char **ppsz, const char *pszAppend, const char *pszTag)
{
if (!pszAppend)
return VINF_SUCCESS;
- return RTStrAAppendN(ppsz, pszAppend, RTSTR_MAX);
+ return RTStrAAppendNTag(ppsz, pszAppend, RTSTR_MAX, pszTag);
}
-RTDECL(int) RTStrAAppendN(char **ppsz, const char *pszAppend, size_t cchAppend)
+RTDECL(int) RTStrAAppendNTag(char **ppsz, const char *pszAppend, size_t cchAppend, const char *pszTag)
{
if (!cchAppend)
return VINF_SUCCESS;
@@ -162,7 +163,7 @@ RTDECL(int) RTStrAAppendN(char **ppsz, const char *pszAppend, size_t cchAppend)
Assert(cchAppend == RTStrNLen(pszAppend, cchAppend));
size_t const cchOrg = *ppsz ? strlen(*ppsz) : 0;
- char *pszNew = (char *)RTMemRealloc(*ppsz, cchOrg + cchAppend + 1);
+ char *pszNew = (char *)RTMemReallocTag(*ppsz, cchOrg + cchAppend + 1, pszTag);
if (!pszNew)
return VERR_NO_STR_MEMORY;
@@ -174,7 +175,7 @@ RTDECL(int) RTStrAAppendN(char **ppsz, const char *pszAppend, size_t cchAppend)
}
-RTDECL(int) RTStrAAppendExNV(char **ppsz, size_t cPairs, va_list va)
+RTDECL(int) RTStrAAppendExNVTag(char **ppsz, size_t cPairs, va_list va, const char *pszTag)
{
AssertPtr(ppsz);
if (!cPairs)
@@ -211,7 +212,7 @@ RTDECL(int) RTStrAAppendExNV(char **ppsz, size_t cPairs, va_list va)
/*
* Try reallocate the string.
*/
- char *pszNew = (char *)RTMemRealloc(*ppsz, cchNewTotal);
+ char *pszNew = (char *)RTMemReallocTag(*ppsz, cchNewTotal, pszTag);
if (!pszNew)
return VERR_NO_STR_MEMORY;
@@ -231,21 +232,10 @@ RTDECL(int) RTStrAAppendExNV(char **ppsz, size_t cPairs, va_list va)
*ppsz = pszNew;
return VINF_SUCCESS;
}
-RT_EXPORT_SYMBOL(RTStrAAppendExNV);
+RT_EXPORT_SYMBOL(RTStrAAppendExNVTag);
-RTDECL(int) RTStrAAppendExN(char **ppsz, size_t cPairs, ...)
-{
- va_list va;
- va_start(va, cPairs);
- int rc = RTStrAAppendExNV(ppsz, cPairs, va);
- va_end(va);
- return rc;
-}
-RT_EXPORT_SYMBOL(RTStrAAppendExN);
-
-
-RTDECL(int) RTStrATruncate(char **ppsz, size_t cchNew)
+RTDECL(int) RTStrATruncateTag(char **ppsz, size_t cchNew, const char *pszTag)
{
char *pszOld = *ppsz;
if (!cchNew)
@@ -253,7 +243,7 @@ RTDECL(int) RTStrATruncate(char **ppsz, size_t cchNew)
if (pszOld && *pszOld)
{
*pszOld = '\0';
- char *pszNew = (char *)RTMemRealloc(pszOld, 1);
+ char *pszNew = (char *)RTMemReallocTag(pszOld, 1, pszTag);
if (pszNew)
*ppsz = pszNew;
}
@@ -267,12 +257,12 @@ RTDECL(int) RTStrATruncate(char **ppsz, size_t cchNew)
pszOld[cchNew] = '\0';
if (!pszZero)
{
- char *pszNew = (char *)RTMemRealloc(pszOld, cchNew + 1);
+ char *pszNew = (char *)RTMemReallocTag(pszOld, cchNew + 1, pszTag);
if (pszNew)
*ppsz = pszNew;
}
}
return VINF_SUCCESS;
}
-RT_EXPORT_SYMBOL(RTStrATruncate);
+RT_EXPORT_SYMBOL(RTStrATruncateTag);