Home | History | Annotate | Download | only in core

Lines Matching full:len

135 SkString::Rec* SkString::AllocRec(const char text[], U16CPU len)
139 if (len == 0)
144 rec = (Rec*)sk_malloc_throw(SizeOfRec() + SkAlign4(len + 1));
145 rec->fLength = SkToU16(len);
148 memcpy(rec->data(), text, len);
149 rec->data()[len] = 0;
192 SkString::SkString(size_t len)
194 SkASSERT(SkToU16(len) == len); // can't handle larger than 64K
196 fRec = AllocRec(NULL, (U16CPU)len);
204 size_t len = text ? strlen(text) : 0;
206 fRec = AllocRec(text, (U16CPU)len);
212 SkString::SkString(const char text[], size_t len)
214 fRec = AllocRec(text, (U16CPU)len);
252 bool SkString::equals(const char text[], size_t len) const
254 SkASSERT(len == 0 || text != NULL);
256 return fRec->fLength == len && !memcmp(fRec->data(), text, len);
311 void SkString::set(const char text[], size_t len)
313 if (len == 0)
315 else if (fRec->fRefCnt == 1 && len <= fRec->fLength) // should we resize if len <<<< fLength, to save RAM? (e.g. len < (fLength>>1))
320 memcpy(p, text, len);
321 p[len] = 0;
322 fRec->fLength = SkToU16(len);
324 else if (fRec->fRefCnt == 1 && ((unsigned)fRec->fLength >> 2) == (len >> 2))
329 memcpy(p, text, len);
330 p[len] = 0;
331 fRec->fLength = SkToU16(len);
335 SkString tmp(text, len);
353 else if (count <= fRec->fLength) // should we resize if len <<<< fLength, to save RAM? (e.g. len < (fLength>>1))
379 void SkString::insert(size_t offset, const char text[], size_t len)
381 if (len)
392 afterAlloc = SkAligh4(length + 1 + len)
394 which is equivalent for testing to (length + 1 + 3) >> 2 == (length + 1 + 3 + len) >> 2
397 if (fRec->fRefCnt == 1 && (length >> 2) == ((length + len) >> 2))
402 memmove(dst + offset + len, dst + offset, length - offset);
403 memcpy(dst + offset, text, len);
405 dst[length + len] = 0;
406 fRec->fLength = SkToU16(length + len);
413 SkString tmp(fRec->fLength + len);
418 memcpy(dst + offset, text, len);
420 memcpy(dst + offset + len, fRec->data() + offset, fRec->fLength - offset);
430 size_t len = SkUTF8_FromUnichar(uni, buffer);
432 if (len)
433 this->insert(offset, buffer, len);
565 size_t len = strlen(utf8);
566 fUCS2 = (uint16_t*)sk_malloc_throw((len + 1) * sizeof(uint16_t));