closes file storage and deallocates buffers */
| 575 | |
| 576 | /* closes file storage and deallocates buffers */ |
| 577 | CV_IMPL void |
| 578 | cvReleaseFileStorage( CvFileStorage** p_fs ) |
| 579 | { |
| 580 | if( !p_fs ) |
| 581 | CV_Error( CV_StsNullPtr, "NULL double pointer to file storage" ); |
| 582 | |
| 583 | if( *p_fs ) |
| 584 | { |
| 585 | CvFileStorage* fs = *p_fs; |
| 586 | *p_fs = 0; |
| 587 | |
| 588 | icvClose(fs, 0); |
| 589 | |
| 590 | cvReleaseMemStorage( &fs->strstorage ); |
| 591 | cvFree( &fs->buffer_start ); |
| 592 | cvReleaseMemStorage( &fs->memstorage ); |
| 593 | |
| 594 | if( fs->outbuf ) |
| 595 | delete fs->outbuf; |
| 596 | |
| 597 | memset( fs, 0, sizeof(*fs) ); |
| 598 | cvFree( &fs ); |
| 599 | } |
| 600 | } |
| 601 | |
| 602 | |
| 603 | #define CV_HASHVAL_SCALE 33 |
no test coverage detected