| 487 | |
| 488 | |
| 489 | static char* |
| 490 | icvFSDoResize( CvFileStorage* fs, char* ptr, int len ) |
| 491 | { |
| 492 | char* new_ptr = 0; |
| 493 | int written_len = (int)(ptr - fs->buffer_start); |
| 494 | int new_size = (int)((fs->buffer_end - fs->buffer_start)*3/2); |
| 495 | new_size = MAX( written_len + len, new_size ); |
| 496 | new_ptr = (char*)cvAlloc( new_size + 256 ); |
| 497 | fs->buffer = new_ptr + (fs->buffer - fs->buffer_start); |
| 498 | if( written_len > 0 ) |
| 499 | memcpy( new_ptr, fs->buffer_start, written_len ); |
| 500 | fs->buffer_start = new_ptr; |
| 501 | fs->buffer_end = fs->buffer_start + new_size; |
| 502 | new_ptr += written_len; |
| 503 | return new_ptr; |
| 504 | } |
| 505 | |
| 506 | |
| 507 | inline char* icvFSResizeWriteBuffer( CvFileStorage* fs, char* ptr, int len ) |
no test coverage detected