void SUB_DISPOSEBUF(int16*_SUB_DISPOSEBUF_INTEGER_HANDLE){
qbs *tqbs;
ptrszint tmp_long;
int32 tmp_fileno;
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
uint8 *tmp_mem_static_pointer=mem_static_pointer;
uint32 tmp_cmem_sp=cmem_sp;
#include "data171.txt"
mem_lock *sf_mem_lock;
new_mem_lock();
sf_mem_lock=mem_lock_tmp;
sf_mem_lock->type=3;
libqb_check_stack();
if (is_error_pending()) goto exit_subfunc;
do{
if(!qbevent)break;evnt(28168,56,"simplebuffer.bm");}while(r);
S_38232:;
if ((~(FUNC_CHECKHANDLE(_SUB_DISPOSEBUF_INTEGER_HANDLE)))||is_error_pending()){
if(qbevent){evnt(28168,58,"simplebuffer.bm");if(r)goto S_38232;}
do{
error( 258 );
if(!qbevent)break;evnt(28168,58,"simplebuffer.bm");}while(r);
do{
close_program=1;
end();
if(!qbevent)break;evnt(28168,58,"simplebuffer.bm");}while(r);
}
do{
*_SUB_DISPOSEBUF_LONG_BUF=*_SUB_DISPOSEBUF_INTEGER_HANDLE* 106 ;
if(!qbevent)break;evnt(28168,59,"simplebuffer.bm");}while(r);
S_38237:;
fornext_value4593= 0 ;
fornext_finalvalue4593= 105 ;
fornext_step4593= 1 ;
if (fornext_step4593<0) fornext_step_negative4593=1; else fornext_step_negative4593=0;
if (is_error_pending()) goto fornext_error4593;
goto fornext_entrylabel4593;
while(1){
fornext_value4593=fornext_step4593+(*_SUB_DISPOSEBUF_INTEGER_IDX);
fornext_entrylabel4593:
*_SUB_DISPOSEBUF_INTEGER_IDX=fornext_value4593;
if (fornext_step_negative4593){
if (fornext_value4593<fornext_finalvalue4593) break;
}else{
if (fornext_value4593>fornext_finalvalue4593) break;
}
fornext_error4593:;
if(qbevent){evnt(28168,61,"simplebuffer.bm");if(r)goto S_38237;}
do{
tmp_long=array_check((*_SUB_DISPOSEBUF_LONG_BUF+*_SUB_DISPOSEBUF_INTEGER_IDX)-__ARRAY_STRING_SIMPLEBUFFER_ARRAY[4],__ARRAY_STRING_SIMPLEBUFFER_ARRAY[5]);
if (!is_error_pending()) qbs_set( ((qbs*)(((uint64*)(__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]))[tmp_long])),qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28168,62,"simplebuffer.bm");}while(r);
fornext_continue_4592:;
}
fornext_exit_4592:;
do{
*_SUB_DISPOSEBUF_LONG_AUB=func_ubound(__ARRAY_STRING_SIMPLEBUFFER_ARRAY,1,1);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28168,65,"simplebuffer.bm");}while(r);
do{
*_SUB_DISPOSEBUF_LONG_OUB=*_SUB_DISPOSEBUF_LONG_AUB;
if(!qbevent)break;evnt(28168,65,"simplebuffer.bm");}while(r);
do{
*_SUB_DISPOSEBUF_LONG_BUF=*_SUB_DISPOSEBUF_LONG_AUB- 105 ;
if(!qbevent)break;evnt(28168,66,"simplebuffer.bm");}while(r);
S_38243:;
while((-(*_SUB_DISPOSEBUF_LONG_BUF>= 1060 ))||is_error_pending()){
if(qbevent){evnt(28168,67,"simplebuffer.bm");if(r)goto S_38243;}
S_38244:;
if ((qbs_cleanup(qbs_tmp_base,qbs_notequal(((qbs*)(((uint64*)(__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]))[array_check((*_SUB_DISPOSEBUF_LONG_BUF+ 1 )-__ARRAY_STRING_SIMPLEBUFFER_ARRAY[4],__ARRAY_STRING_SIMPLEBUFFER_ARRAY[5])])),qbs_new_txt_len("",0))))||is_error_pending()){
if(qbevent){evnt(28168,68,"simplebuffer.bm");if(r)goto S_38244;}
do{
goto ww_exit_4594;
if(!qbevent)break;evnt(28168,68,"simplebuffer.bm");}while(r);
}
do{
*_SUB_DISPOSEBUF_LONG_BUF=*_SUB_DISPOSEBUF_LONG_BUF- 106 ;
if(!qbevent)break;evnt(28168,69,"simplebuffer.bm");}while(r);
ww_continue_4594:;
}
ww_exit_4594:;
S_38249:;
while((-((*_SUB_DISPOSEBUF_LONG_AUB- 1059 )>(*_SUB_DISPOSEBUF_LONG_BUF+ 105 )))||is_error_pending()){
if(qbevent){evnt(28168,71,"simplebuffer.bm");if(r)goto S_38249;}
do{
*_SUB_DISPOSEBUF_LONG_AUB=*_SUB_DISPOSEBUF_LONG_AUB- 1060 ;
if(!qbevent)break;evnt(28168,71,"simplebuffer.bm");}while(r);
ww_continue_4595:;
}
ww_exit_4595:;
S_38252:;
if ((-(*_SUB_DISPOSEBUF_LONG_AUB<*_SUB_DISPOSEBUF_LONG_OUB))||is_error_pending()){
if(qbevent){evnt(28168,72,"simplebuffer.bm");if(r)goto S_38252;}
do{
if (__ARRAY_STRING_SIMPLEBUFFER_ARRAY[2]&2){
error(10);
}else{
static int64 alloc_new_desc[8];
static uint64 alloc_req_elems;
static uint64 alloc_req_bytes;
static uint64 alloc_dim_value;
static uint64 alloc_bytes_per_element;
((mem_lock*)((ptrszint*)__ARRAY_STRING_SIMPLEBUFFER_ARRAY)[8])->id=(++mem_lock_id);
static ptrszint preserve_old_ptr;
static ptrszint preserve_old_flags;
static uint64 preserve_old_total;
static uint64 preserve_new_total;
static uint64 preserve_copy_count;
static ptrszint preserve_new_ptr;
if (__ARRAY_STRING_SIMPLEBUFFER_ARRAY[2]&1){
preserve_old_ptr=__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0];
preserve_old_flags=__ARRAY_STRING_SIMPLEBUFFER_ARRAY[2];
preserve_old_total=__ARRAY_STRING_SIMPLEBUFFER_ARRAY[5];
}else{
preserve_old_total=0; preserve_old_ptr=0; preserve_old_flags=0; preserve_new_total=0; preserve_copy_count=0;
}
alloc_new_desc[4]= 0 ;
alloc_new_desc[5]=(*_SUB_DISPOSEBUF_LONG_AUB)-alloc_new_desc[4]+1;
if (alloc_new_desc[5]<=0) error(5);
alloc_new_desc[6]=1;
alloc_req_elems=1;
alloc_bytes_per_element=(uint64)(8);
if (!alloc_bytes_per_element) error(257);
if (((int64)((ptrszint)alloc_new_desc[4]))!=alloc_new_desc[4]) error(257);
if (alloc_new_desc[5]<0) error(257);
if (((int64)((ptrszint)alloc_new_desc[5]))!=alloc_new_desc[5]) error(257);
if (alloc_new_desc[6]<0) error(257);
if (((int64)((ptrszint)alloc_new_desc[6]))!=alloc_new_desc[6]) error(257);
alloc_dim_value=(uint64)alloc_new_desc[5];
if (alloc_dim_value){
if (alloc_req_elems>(18446744073709551615ull/alloc_dim_value)) error(257);
alloc_req_elems*=alloc_dim_value;
}
if (alloc_req_elems>(18446744073709551615ull/alloc_bytes_per_element)) error(257);
alloc_req_bytes=alloc_req_elems*alloc_bytes_per_element;
if (((uint64)((ptrszint)alloc_req_elems))!=alloc_req_elems) error(257);
if (((uint64)((size_t)alloc_req_bytes))!=alloc_req_bytes) error(257);
preserve_new_total=alloc_req_elems;
preserve_copy_count=preserve_old_total;
if (preserve_new_total<preserve_copy_count) preserve_copy_count=preserve_new_total;
if (preserve_old_total){
preserve_new_ptr=(ptrszint)malloc((size_t)alloc_req_bytes);
if (!preserve_new_ptr) error(257);
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]=preserve_new_ptr;
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[2]|=1;
tmp_long=(ptrszint)alloc_req_elems;
if (__ARRAY_STRING_SIMPLEBUFFER_ARRAY[2]&4){
while(tmp_long--) ((uint64*)(__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]))[tmp_long]=(uint64)qbs_new_cmem(0,0);
}else{
while(tmp_long--) ((uint64*)(__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]))[tmp_long]=(uint64)qbs_new(0,0);
}
tmp_long=preserve_copy_count;
while(tmp_long--){
qbs_set((qbs*)((uint64*)(preserve_new_ptr))[tmp_long],(qbs*)((uint64*)(preserve_old_ptr))[tmp_long]);
}
tmp_long=preserve_old_total;
while(tmp_long--) qbs_free((qbs*)((uint64*)(preserve_old_ptr))[tmp_long]);
free((void*)(preserve_old_ptr));
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]=preserve_new_ptr;
}else{
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]=(ptrszint)malloc((size_t)alloc_req_bytes);
if (!__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]) error(257);
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[2]|=1;
tmp_long=(ptrszint)alloc_req_elems;
if (__ARRAY_STRING_SIMPLEBUFFER_ARRAY[2]&4){
while(tmp_long--) ((uint64*)(__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]))[tmp_long]=(uint64)qbs_new_cmem(0,0);
}else{
while(tmp_long--) ((uint64*)(__ARRAY_STRING_SIMPLEBUFFER_ARRAY[0]))[tmp_long]=(uint64)qbs_new(0,0);
}
}
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[4]=alloc_new_desc[4];
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[5]=alloc_new_desc[5];
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[6]=alloc_new_desc[6];
__ARRAY_STRING_SIMPLEBUFFER_ARRAY[7]=alloc_new_desc[7];
}
if(!qbevent)break;evnt(28168,72,"simplebuffer.bm");}while(r);
}
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free171.txt"
if ((tmp_mem_static_pointer>=mem_static)&&(tmp_mem_static_pointer<=mem_static_limit)) mem_static_pointer=tmp_mem_static_pointer; else mem_static_pointer=mem_static;
cmem_sp=tmp_cmem_sp;
}
