Lines Matching refs:fString
220 if ((same = res->u.fString.fSame) != NULL) {
379 *byteOffset += 4 + (res->u.fString.fLength + 1) * U_SIZEOF_UCHAR;
458 *byteOffset += 4 + (res->u.fString.fLength + 1) * U_SIZEOF_UCHAR;
495 int32_t length = res->u.fString.fLength;
497 udata_writeUString(mem, res->u.fString.fChars, length + 1);
505 int32_t length = res->u.fString.fLength;
507 udata_writeUString(mem, res->u.fString.fChars, length + 1);
889 return uhash_hashUCharsN(res->u.fString.fChars, res->u.fString.fLength);
896 return 0 == u_strCompare(res1->u.fString.fChars, res1->u.fString.fLength,
897 res2->u.fString.fChars, res2->u.fString.fLength,
909 res->u.fString.fChars = &gEmptyString;
915 res->u.fString.fLength = len;
919 res->u.fString.fChars = (UChar *)value;
924 res->u.fString.fSame = uhash_get(bundle->fStringSet, res);
927 if (res->u.fString.fSame == NULL) {
929 res->u.fString.fChars = (UChar *) uprv_malloc(sizeof(UChar) * (len + 1));
931 if (res->u.fString.fChars == NULL) {
937 uprv_memcpy(res->u.fString.fChars, value, sizeof(UChar) * len);
938 res->u.fString.fChars[len] = 0;
950 res->u.fString.fNumCharsForLength = 0;
952 res->u.fString.fNumCharsForLength = 1;
954 res->u.fString.fNumCharsForLength = 2;
956 res->u.fString.fNumCharsForLength = 3;
958 bundle->f16BitUnitsLength += res->u.fString.fNumCharsForLength + len + 1; /* +1 for the NUL */
962 struct SResource *same = res->u.fString.fSame;
963 res->u.fString.fChars = same->u.fString.fChars;
976 res->u.fString.fChars = &gEmptyString;
982 res->u.fString.fLength = len;
983 res->u.fString.fChars = (UChar *) uprv_malloc(sizeof(UChar) * (len + 1));
984 if (res->u.fString.fChars == NULL) {
989 uprv_memcpy(res->u.fString.fChars, value, sizeof(UChar) * (len + 1));
1142 if (string->u.fString.fChars != NULL &&
1143 string->u.fString.fChars != &gEmptyString &&
1144 string->u.fString.fSame == NULL
1146 uprv_free(string->u.fString.fChars);
1147 string->u.fString.fChars =NULL;
1152 if (alias->u.fString.fChars != NULL) {
1153 uprv_free(alias->u.fString.fChars);
1154 alias->u.fString.fChars =NULL;
1600 const UChar *lStart = left->u.fString.fChars;
1601 const UChar *lLimit = lStart + left->u.fString.fLength;
1602 const UChar *rStart = right->u.fString.fChars;
1603 const UChar *rLimit = rStart + right->u.fString.fLength;
1613 return right->u.fString.fLength - left->u.fString.fLength;
1622 diff = (int)(left->u.fString.fSame != NULL) - (int)(right->u.fString.fSame != NULL);
1627 return left->u.fString.fLength - right->u.fString.fLength;
1632 int32_t length = res->u.fString.fLength;
1635 switch(res->u.fString.fNumCharsForLength) {
1655 u_memcpy(bundle->f16BitUnits + utf16Length, res->u.fString.fChars, length + 1);
1709 const UChar *strLimit = res->u.fString.fChars + res->u.fString.fLength;
1714 const UChar *suffix = suffixRes->u.fString.fChars;
1715 const UChar *suffixLimit = suffix + suffixRes->u.fString.fLength;
1716 int32_t offset = res->u.fString.fLength - suffixRes->u.fString.fLength;
1723 if (suffixRes->u.fString.fNumCharsForLength == 0) {
1725 suffixRes->u.fString.fSame = res;
1726 suffixRes->u.fString.fSuffixOffset = offset;
1746 for (i = 0; i < count && array[i]->u.fString.fSame == NULL; ++i) {
1752 struct SResource *same = res->u.fString.fSame;
1753 res->fRes = same->fRes + same->u.fString.fNumCharsForLength + res->u.fString.fSuffixOffset;
1754 res->u.fString.fSame = NULL;