Ejemplo n.º 1
0
void
fs_stream_write_data( struct fs_output_stream* stream,  BYTE* data, size_t len ){
    
    if (!data) {
        return;
    }
    
    if(stream->weak_ref){
        if(stream->pos + len > stream->buff_len){
            fs_assert(fs_true, "OutputStrem EOF");// 纯引用,出现溢出
        }
    }
    
    fs_assert(stream->buff_len != 0, "buff_len == 0");
        
    while(stream->pos + len > stream->buff_len){
        stream->buff_len = (stream->buff_len << 1);
        
        
        
        stream->data = fs_realloc(stream->data, stream->buff_len);
    }
    
    memcpy(stream->data + stream->pos, data, len);
    stream->pos += len;
}
Ejemplo n.º 2
0
void
fs_stream_write_data( struct fs_output_stream* stream,  BYTE* data, size_t len ){
    
    if(stream->weak_ref){
        if(stream->pos + len > stream->buff_len){
            fs_assert(fs_true, "OutputStrem EOF");// 纯引用,出现溢出
        }
    }
    
    if(stream->buff_len == 0) stream->buff_len = 1;
    while(stream->pos + len > stream->buff_len){
        void* data = fs_realloc(stream->data, stream->buff_len << 1);
        stream->data = data;
        stream->buff_len = stream->buff_len << 1;
    }
    
    memcpy(stream->data + stream->pos, data, len);
    stream->pos += len;
}