Lines Matching refs:cchString

138     uint16_t            cchString;
148 /** RTSTCACHEENTRY::cchString value for big cache entries. */
161 uint32_t cchString;
494 uint32_t cchString = pEntry->cchString;
495 if (cchString == RTSTRCACHEENTRY_BIG_LEN)
496 cchString = RT_FROM_MEMBER(pEntry, RTSTRCACHEBIGENTRY, Core)->cchString;
498 uint32_t iHash = rtStrCacheFindEmptyHashTabEntry(pThis, RT_MAKE_U32(pEntry->uHash, cchString));
542 * @param cchString The string length.
546 const char *pchString, uint32_t cchString, uint32_t cbEntry)
549 Assert(cbEntry > cchString);
640 pEntry->cchString = (uint16_t)cchString;
641 memcpy(pEntry->szString, pchString, cchString);
642 RT_BZERO(&pEntry->szString[cchString], cbEntry - RT_UOFFSETOF(RTSTRCACHEENTRY, szString) - cchString);
658 * @param cchString The string length.
661 const char *pchString, uint32_t cchString)
667 size_t cbEntry = RT_UOFFSETOF(RTSTRCACHEBIGENTRY, Core.szString[cchString + 1]);
677 pBigEntry->cchString = cchString;
681 pBigEntry->Core.cchString = RTSTRCACHEENTRY_BIG_LEN;
682 memcpy(pBigEntry->Core.szString, pchString, cchString);
683 pBigEntry->Core.szString[cchString] = '\0';
696 * @param cchString The string length.
700 const char *pchString, uint32_t cchString, uint32_t iFreeList)
751 pEntry->cchString = (uint16_t)cchString;
752 memcpy(pEntry->szString, pchString, cchString);
753 pEntry->szString[cchString] = '\0';
766 * @param cchString The real length.
773 static PRTSTRCACHEENTRY rtStrCacheLookUp(PRTSTRCACHEINT pThis, uint32_t uHashLen, uint32_t cchString, const char *pchString,
779 uint16_t cchStringFirst = RT_UOFFSETOF(RTSTRCACHEENTRY, szString[cchString + 1]) < RTSTRCACHE_HEAP_THRESHOLD
780 ? (uint16_t)cchString : RTSTRCACHEENTRY_BIG_LEN;
798 && pEntry->cchString == cchStringFirst)
800 if (pEntry->cchString != RTSTRCACHEENTRY_BIG_LEN)
802 if ( !memcmp(pEntry->szString, pchString, cchString)
803 && pEntry->szString[cchString] == '\0')
809 if ( pBigEntry->cchString == cchString
810 && !memcmp(pBigEntry->Core.szString, pchString, cchString))
829 RTDECL(const char *) RTStrCacheEnterN(RTSTRCACHE hStrCache, const char *pchString, size_t cchString)
838 uint32_t const uHash = sdbmN(pchString, cchString, &cchString);
839 uint32_t const uHashLen = RT_MAKE_U32(uHash, cchString);
840 AssertReturn(cchString < _1G, NULL);
841 uint32_t const cchString32 = (uint32_t)cchString;
923 static const char *rtStrCacheEnterLowerWorker(PRTSTRCACHEINT pThis, const char *pchString, size_t cchString)
928 if (cchString < 512)
930 char *pszStackBuf = (char *)alloca(cchString + 1);
933 memcpy(pszStackBuf, pchString, cchString);
934 pszStackBuf[cchString] = '\0';
936 return RTStrCacheEnterN(pThis, pszStackBuf, cchString);
943 char *pszHeapBuf = (char *)RTMemTmpAlloc(cchString + 1);
946 memcpy(pszHeapBuf, pchString, cchString);
947 pszHeapBuf[cchString] = '\0';
949 const char *pszRet = RTStrCacheEnterN(pThis, pszHeapBuf, cchString);
954 RTDECL(const char *) RTStrCacheEnterLowerN(RTSTRCACHE hStrCache, const char *pchString, size_t cchString)
958 return rtStrCacheEnterLowerWorker(pThis, pchString, RTStrNLen(pchString, cchString));
977 Assert(!((uintptr_t)pStr & 15) || pStr->cchString == RTSTRCACHEENTRY_BIG_LEN);
994 uint32_t cchString = pStr->cchString == RTSTRCACHEENTRY_BIG_LEN
995 ? RT_FROM_MEMBER(pStr, RTSTRCACHEBIGENTRY, Core)->cchString
996 : pStr->cchString;
997 uint32_t uHashLen = RT_MAKE_U32(pStr->uHash, cchString);
1023 pThis->cbStrings -= cchString;
1027 if (pStr->cchString != RTSTRCACHEENTRY_BIG_LEN)
1029 uint32_t const cbMin = pStr->cchString + 1U + RT_UOFFSETOF(RTSTRCACHEENTRY, szString);
1133 pThis->cbBigEntries -= RT_ALIGN_32(RT_UOFFSETOF(RTSTRCACHEBIGENTRY, Core.szString[cchString + 1]),
1155 Assert(!((uintptr_t)pStr & 15) || pStr->cchString == RTSTRCACHEENTRY_BIG_LEN);
1177 if (pStr->cchString == RTSTRCACHEENTRY_BIG_LEN)
1180 return pBigStr->cchString;
1183 return pStr->cchString;