VirtualBox

忽略:
時間撮記:
2010-11-19 下午05:18:15 (14 年 以前)
作者:
vboxsync
訊息:

IPRT: Added RTPathJoinEx and RTPathAppendEx.

檔案:
複製 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Runtime/common/path/RTPathJoinEx.cpp

    r34201 r34214  
    11/* $Id$ */
    22/** @file
    3  * IPRT - RTPathJoin.
     3 * IPRT - RTPathJoinEx.
    44 */
    55
     
    3838
    3939
    40 RTDECL(int) RTPathJoin(char *pszPathDst, size_t cbPathDst, const char *pszPathSrc,
    41                        const char *pszAppend)
     40RTDECL(int) RTPathJoinEx(char *pszPathDst, size_t cbPathDst,
     41                         const char *pszPathSrc, size_t cchPathSrcMax,
     42                         const char *pszAppend, size_t cchAppendMax)
    4243{
    4344    AssertPtr(pszPathDst);
     
    4849     * The easy way: Copy the path into the buffer and call RTPathAppend.
    4950     */
    50     size_t cchPathSrc = strlen(pszPathSrc);
     51    size_t cchPathSrc = RTStrNLen(pszPathSrc, cchPathSrcMax);
    5152    if (cchPathSrc >= cbPathDst)
    5253        return VERR_BUFFER_OVERFLOW;
    53     memcpy(pszPathDst, pszPathSrc, cchPathSrc + 1);
     54    memcpy(pszPathDst, pszPathSrc, cchPathSrc);
     55    pszPathDst[cchPathSrc] = '\0';
    5456
    55     return RTPathAppend(pszPathDst, cbPathDst, pszAppend);
     57    return RTPathAppendEx(pszPathDst, cbPathDst, pszAppend, cchAppendMax);
    5658}
    5759
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette