sfresize.c revision 1
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster/***********************************************************************
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* This software is part of the ast package *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* Copyright (c) 1985-2011 AT&T Intellectual Property *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* and is licensed under the *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* Common Public License, Version 1.0 *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* by AT&T Intellectual Property *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* A copy of the License is available at *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* http://www.opensource.org/licenses/cpl1.0.txt *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* Information and Software Systems Research *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* AT&T Research *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* Florham Park NJ *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* Glenn Fowler <gsf@research.att.com> *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* David Korn <dgk@research.att.com> *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster* Phong Vo <kpv@research.att.com> *
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster***********************************************************************/
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster/* Resize a stream.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster Written by Kiem-Phong Vo.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster (f->mode != SF_WRITE && _sfmode(f,SF_WRITE,0) < 0) )
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster { if((f->flags&SF_MALLOC) && (f->next - f->data) <= size)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster { size_t s = (((size_t)size + 1023)/1024)*1024;
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster memclear((char*)(f->data+size), (int)(f->extent-size));
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster memclear((char*)(f->data+f->extent), (int)(size-f->extent));