Lines Matching refs:buf
163 ucbuf_fillucbuf( UCHARBUF* buf,UErrorCode* error){ in ucbuf_fillucbuf() argument
174 pTarget = buf->buffer; in ucbuf_fillucbuf()
176 if(buf->currentPos<buf->bufLimit){ in ucbuf_fillucbuf()
177 offset = (int32_t)(buf->bufLimit-buf->currentPos); in ucbuf_fillucbuf()
178 memmove(buf->buffer,buf->currentPos,offset* sizeof(char16_t)); in ucbuf_fillucbuf()
184 if(buf->isBuffered){ in ucbuf_fillucbuf()
187 inputRead=T_FileStream_read(buf->in,cbuf,cbufSize-offset); in ucbuf_fillucbuf()
188 buf->remaining-=inputRead; in ucbuf_fillucbuf()
191 cbufSize = T_FileStream_size(buf->in); in ucbuf_fillucbuf()
197 inputRead= T_FileStream_read(buf->in,cbuf,cbufSize); in ucbuf_fillucbuf()
198 buf->remaining-=inputRead; in ucbuf_fillucbuf()
203 buf->remaining = 0; in ucbuf_fillucbuf()
207 if(buf->conv){ in ucbuf_fillucbuf()
212 ucnv_setToUCallBack(buf->conv, in ucbuf_fillucbuf()
222 ucnv_toUnicode(buf->conv,&target,target+(buf->bufCapacity-offset), in ucbuf_fillucbuf()
224 (UBool)(buf->remaining==0),error); in ucbuf_fillucbuf()
237 if( buf->showWarning==true){ in ucbuf_fillucbuf()
245 ucnv_getInvalidChars(buf->conv,context,&len,&error1); in ucbuf_fillucbuf()
266 if(buf->showWarning ==true){ in ucbuf_fillucbuf()
274 ucnv_reset(buf->conv); in ucbuf_fillucbuf()
279 ucnv_setToUCallBack(buf->conv, in ucbuf_fillucbuf()
291 ucnv_toUnicode(buf->conv,&target,target+(buf->bufCapacity-offset), in ucbuf_fillucbuf()
293 (UBool)(buf->remaining==0),&error1); in ucbuf_fillucbuf()
310 outputWritten=((buf->remaining>cbufSize)? cbufSize:inputRead+offset); in ucbuf_fillucbuf()
312 buf->currentPos = pTarget; in ucbuf_fillucbuf()
313 buf->bufLimit=pTarget+outputWritten; in ucbuf_fillucbuf()
314 *buf->bufLimit=0; /*NUL terminate*/ in ucbuf_fillucbuf()
318 return buf; in ucbuf_fillucbuf()
325 ucbuf_getc(UCHARBUF* buf,UErrorCode* error){ in ucbuf_getc() argument
329 if(buf->currentPos>=buf->bufLimit){ in ucbuf_getc()
330 if(buf->remaining==0){ in ucbuf_getc()
333 buf=ucbuf_fillucbuf(buf,error); in ucbuf_getc()
339 return *(buf->currentPos++); in ucbuf_getc()
344 ucbuf_getc32(UCHARBUF* buf,UErrorCode* error){ in ucbuf_getc32() argument
349 if(buf->currentPos+1>=buf->bufLimit){ in ucbuf_getc32()
350 if(buf->remaining==0){ in ucbuf_getc32()
353 buf=ucbuf_fillucbuf(buf,error); in ucbuf_getc32()
358 if(U16_IS_LEAD(*(buf->currentPos))){ in ucbuf_getc32()
359 retVal=U16_GET_SUPPLEMENTARY(buf->currentPos[0],buf->currentPos[1]); in ucbuf_getc32()
360 buf->currentPos+=2; in ucbuf_getc32()
362 retVal = *(buf->currentPos++); in ucbuf_getc32()
375 ucbuf_getcx32(UCHARBUF* buf,UErrorCode* error) { in ucbuf_getcx32() argument
383 if (buf->currentPos >=buf->bufLimit-2) { in ucbuf_getcx32()
384 ucbuf_fillucbuf(buf,error); in ucbuf_getcx32()
388 if (buf->currentPos < buf->bufLimit) { in ucbuf_getcx32()
389 c1 = *(buf->currentPos)++; in ucbuf_getcx32()
394 c2 = *(buf->currentPos); in ucbuf_getcx32()
402 length = (int32_t)(buf->bufLimit - buf->currentPos); in ucbuf_getcx32()
409 ucbuf_fillucbuf(buf,error); in ucbuf_getcx32()
410 length = (int32_t)(buf->bufLimit - buf->buffer); in ucbuf_getcx32()
415 c32 = u_unescapeAt(_charAt, &offset, length, (void*)buf); in ucbuf_getcx32()
421 if(buf->showWarning) { in ucbuf_getcx32()
428 u_UCharsToChars( buf->currentPos, context, len); in ucbuf_getcx32()
435 buf->currentPos += offset; in ucbuf_getcx32()
469 UCHARBUF* buf =(UCHARBUF*) uprv_malloc(sizeof(UCHARBUF)); in ucbuf_open() local
471 if(buf == nullptr){ in ucbuf_open()
476 buf->in=in; in ucbuf_open()
477 buf->conv=nullptr; in ucbuf_open()
478 buf->showWarning = showWarning; in ucbuf_open()
479 buf->isBuffered = buffered; in ucbuf_open()
480 buf->signatureLength=0; in ucbuf_open()
483 ucbuf_autodetect_fs(in,cp,&buf->conv,&buf->signatureLength,error); in ucbuf_open()
486 ucbuf_autodetect_fs(in,&knownCp,&buf->conv,&buf->signatureLength,error); in ucbuf_open()
488 if(U_SUCCESS(*error) && buf->conv==nullptr) { in ucbuf_open()
489 buf->conv=ucnv_open(*cp,error); in ucbuf_open()
492 ucnv_close(buf->conv); in ucbuf_open()
493 uprv_free(buf); in ucbuf_open()
498 if((buf->conv==nullptr) && (buf->showWarning==true)){ in ucbuf_open()
501 buf->remaining=fileSize-buf->signatureLength; in ucbuf_open()
502 if(buf->isBuffered){ in ucbuf_open()
503 buf->bufCapacity=MAX_U_BUF; in ucbuf_open()
505 … buf->bufCapacity=buf->remaining+buf->signatureLength+1/*for terminating nul*/; in ucbuf_open()
507 buf->buffer=(char16_t*) uprv_malloc(U_SIZEOF_UCHAR * buf->bufCapacity ); in ucbuf_open()
508 if (buf->buffer == nullptr) { in ucbuf_open()
510 ucbuf_close(buf); in ucbuf_open()
513 buf->currentPos=buf->buffer; in ucbuf_open()
514 buf->bufLimit=buf->buffer; in ucbuf_open()
517 ucbuf_close(buf); in ucbuf_open()
520 ucbuf_fillucbuf(buf,error); in ucbuf_open()
522 ucbuf_close(buf); in ucbuf_open()
525 return buf; in ucbuf_open()
539 ucbuf_ungetc(int32_t c,UCHARBUF* buf){ in ucbuf_ungetc() argument
543 if(buf->currentPos!=buf->buffer){ in ucbuf_ungetc()
544 if(*(buf->currentPos-1)==c){ in ucbuf_ungetc()
545 buf->currentPos--; in ucbuf_ungetc()
556 ucbuf_closebuf(UCHARBUF* buf){ in ucbuf_closebuf() argument
557 uprv_free(buf->buffer); in ucbuf_closebuf()
558 buf->buffer = nullptr; in ucbuf_closebuf()
563 ucbuf_close(UCHARBUF* buf){ in ucbuf_close() argument
564 if(buf!=nullptr){ in ucbuf_close()
565 if(buf->conv){ in ucbuf_close()
566 ucnv_close(buf->conv); in ucbuf_close()
568 T_FileStream_close(buf->in); in ucbuf_close()
569 ucbuf_closebuf(buf); in ucbuf_close()
570 uprv_free(buf); in ucbuf_close()
576 ucbuf_rewind(UCHARBUF* buf,UErrorCode* error){ in ucbuf_rewind() argument
580 if(buf){ in ucbuf_rewind()
581 buf->currentPos=buf->buffer; in ucbuf_rewind()
582 buf->bufLimit=buf->buffer; in ucbuf_rewind()
583 T_FileStream_rewind(buf->in); in ucbuf_rewind()
584 buf->remaining=T_FileStream_size(buf->in)-buf->signatureLength; in ucbuf_rewind()
586 ucnv_resetToUnicode(buf->conv); in ucbuf_rewind()
587 if(buf->signatureLength>0) { in ucbuf_rewind()
595 numRead=T_FileStream_read(buf->in, start, buf->signatureLength); in ucbuf_rewind()
600 … ucnv_toUnicode(buf->conv, &pTarget, target+1, &pStart, start+numRead, nullptr, false, error); in ucbuf_rewind()
606 …if(U_SUCCESS(*error) && (numRead!=buf->signatureLength || pTarget!=(target+1) || target[0]!=0xfeff… in ucbuf_rewind()
615 ucbuf_size(UCHARBUF* buf){ in ucbuf_size() argument
616 if(buf){ in ucbuf_size()
617 if(buf->isBuffered){ in ucbuf_size()
618 return (T_FileStream_size(buf->in)-buf->signatureLength)/ucnv_getMinCharSize(buf->conv); in ucbuf_size()
620 return (int32_t)(buf->bufLimit - buf->buffer); in ucbuf_size()
627 ucbuf_getBuffer(UCHARBUF* buf,int32_t* len,UErrorCode* error){ in ucbuf_getBuffer() argument
631 if(buf==nullptr || len==nullptr){ in ucbuf_getBuffer()
635 *len = (int32_t)(buf->bufLimit - buf->buffer); in ucbuf_getBuffer()
636 return buf->buffer; in ucbuf_getBuffer()
716 ucbuf_readline(UCHARBUF* buf,int32_t* len,UErrorCode* err){ in ucbuf_readline() argument
717 char16_t* temp = buf->currentPos; in ucbuf_readline()
720 if(buf->isBuffered){ in ucbuf_readline()
726 if(buf->remaining==0){ in ucbuf_readline()
729 if(temp>=buf->bufLimit && buf->currentPos == buf->buffer){ in ucbuf_readline()
733 ucbuf_fillucbuf(buf,err); in ucbuf_readline()
743 if(c ==0x0d && temp <= buf->bufLimit && *temp == 0x0a ){ in ucbuf_readline()
744 *len = (int32_t)(temp++ - buf->currentPos); in ucbuf_readline()
745 savePos = buf->currentPos; in ucbuf_readline()
746 buf->currentPos = temp; in ucbuf_readline()
751 … if (temp>=buf->bufLimit|| ucbuf_isCharNewLine(c)){ /* Unipad inserts 2028 line separators! */ in ucbuf_readline()
752 *len = (int32_t)(temp - buf->currentPos); in ucbuf_readline()
753 savePos = buf->currentPos; in ucbuf_readline()
754 buf->currentPos = temp; in ucbuf_readline()
765 if(buf->currentPos==buf->bufLimit){ in ucbuf_readline()
769 if(c ==0x0d && temp <= buf->bufLimit && *temp == 0x0a ){ in ucbuf_readline()
770 *len = (int32_t)(temp++ - buf->currentPos); in ucbuf_readline()
771 savePos = buf->currentPos; in ucbuf_readline()
772 buf->currentPos = temp; in ucbuf_readline()
776 … if (temp>=buf->bufLimit|| ucbuf_isCharNewLine(c)) { /* Unipad inserts 2028 line separators! */ in ucbuf_readline()
777 *len = (int32_t)(temp - buf->currentPos); in ucbuf_readline()
778 savePos = buf->currentPos; in ucbuf_readline()
779 buf->currentPos = temp; in ucbuf_readline()