Lines Matching refs:size

43 **	If size < 0, it is assigned a suitable value depending on the
44 ** kind of stream. The actual buffer size allocated is dependent
93 Void_t* sfsetbuf(Sfio_t* f, Void_t* buf, size_t size)
95 Void_t* sfsetbuf(f,buf,size)
98 size_t size; /* buffer size, -1 for default size */
115 if(size == 0 && buf)
117 _Sfi = f->val = (f->bits&SF_MMAP) ? (f->endb-f->data) : f->size;
124 size = 0;
157 else /* setting alignment size only */
158 { blksz = (ssize_t)size;
162 osize = f->size;
167 size = (size_t)SF_UNBOUND;
188 f->size = 0;
191 osize = f->size;
198 (size == (size_t)SF_UNBOUND || !buf))
199 size = 0;
210 /* if has discipline, set size by discipline if possible */
228 #if _sys_stat && _stat_blksize /* preferred io block size */
290 /* set page size, this is also the desired default buffer size */
301 if(okmmap && size && (f->mode&SF_READ) && f->extent >= 0 )
309 if(size == (size_t)SF_UNBOUND)
311 size = bufsize * SF_NMAP;
312 else size = _Sfpage * SF_NMAP;
313 if(size > 256*1024)
314 size = 256*1024;
322 if(size == (size_t)SF_UNBOUND)
323 { /* define a default size suitable for block transfer */
325 size = osize;
327 size = 0;
329 size = SF_GRAIN;
332 size = (((size_t)f->extent + SF_GRAIN-1)/SF_GRAIN)*SF_GRAIN;
333 else if((ssize_t)(size = _Sfpage) < bufsize)
334 size = bufsize;
340 if(size > 0 && !buf && !(f->bits&SF_MMAP))
342 if(obuf && size == (size_t)osize && init)
349 while(!buf && size > 0)
350 { if((buf = (Void_t*)malloc(size)) )
352 else size /= 2;
354 if(size > 0)
359 if(size == 0 && !(f->flags&SF_STRING) && !(f->bits&SF_MMAP) && (f->mode&SF_READ))
361 size = sizeof(f->tiny);
366 f->size = size;
368 f->endb = (f->mode&SF_READ) ? f->data : f->data+size;
370 { /* these fields are used to test actual size - see sfseek() */
372 ((f->flags&SF_READ) || (f->bits&SF_BOTH)) ) ? size : 0;
377 f->endb = f->data+size;
392 ** at most f->size/2 so that data movement in buffer can be optimized.
397 while(blksz > f->size/2)