VirtualBox

Changeset 51887 in vbox


Ignore:
Timestamp:
Jul 6, 2014 7:35:16 PM (10 years ago)
Author:
vboxsync
Message:

Utf8Str: Fix assignEx with a_offSrc != 0

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/com/string.h

    r49039 r51887  
    576576    HRESULT assignEx(Utf8Str const &a_rSrcStr)
    577577    {
    578         return copyFromExNComRC(a_rSrcStr.m_psz, a_rSrcStr.m_cch);
     578        return copyFromExNComRC(a_rSrcStr.m_psz, 0, a_rSrcStr.m_cch);
    579579    }
    580580
     
    594594            || a_offSrc > a_rSrcStr.m_cch)
    595595            return E_INVALIDARG;
    596         return copyFromExNComRC(a_rSrcStr.m_psz, a_rSrcStr.m_cch);
     596        return copyFromExNComRC(a_rSrcStr.m_psz, a_offSrc, a_cchSrc);
    597597    }
    598598
     
    606606    HRESULT assignEx(const char *a_pcszSrc)
    607607    {
    608         return copyFromExNComRC(a_pcszSrc, a_pcszSrc ? strlen(a_pcszSrc) : 0);
     608        return copyFromExNComRC(a_pcszSrc, 0, a_pcszSrc ? strlen(a_pcszSrc) : 0);
    609609    }
    610610
     
    620620    HRESULT assignEx(const char *a_pcszSrc, size_t a_cchSrc)
    621621    {
    622         return copyFromExNComRC(a_pcszSrc, a_cchSrc);
     622        return copyFromExNComRC(a_pcszSrc, 0, a_cchSrc);
    623623    }
    624624
     
    719719    void copyFrom(CBSTR a_pbstr);
    720720    HRESULT copyFromEx(CBSTR a_pbstr);
    721     HRESULT copyFromExNComRC(const char *a_pcszSrc, size_t a_cchSrc);
     721    HRESULT copyFromExNComRC(const char *a_pcszSrc, size_t a_offSrc, size_t a_cchSrc);
    722722
    723723    friend class Bstr; /* to access our raw_copy() */
  • trunk/src/VBox/Main/glue/string.cpp

    r49039 r51887  
    247247 *
    248248 * @param   a_pcszSrc   The source string.
     249 * @param   a_offSrc    Start offset to copy from.
    249250 * @param   a_cchSrc    The source string.
    250251 * @returns S_OK or E_OUTOFMEMORY.
     
    253254 *          code space.)
    254255 */
    255 HRESULT Utf8Str::copyFromExNComRC(const char *a_pcszSrc, size_t a_cchSrc)
     256HRESULT Utf8Str::copyFromExNComRC(const char *a_pcszSrc, size_t a_offSrc, size_t a_cchSrc)
    256257{
    257258    cleanup();
     
    263264            m_cch = a_cchSrc;
    264265            m_cbAllocated = a_cchSrc + 1;
    265             memcpy(m_psz, a_pcszSrc, a_cchSrc);
     266            memcpy(m_psz, a_pcszSrc + a_offSrc, a_cchSrc);
    266267            m_psz[a_cchSrc] = '\0';
    267268        }
Note: See TracChangeset for help on using the changeset viewer.

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