| 3438 | } |
| 3439 | |
| 3440 | static void |
| 3441 | icvWriteFileNode( CvFileStorage* fs, const char* name, const CvFileNode* node ) |
| 3442 | { |
| 3443 | switch( CV_NODE_TYPE(node->tag) ) |
| 3444 | { |
| 3445 | case CV_NODE_INT: |
| 3446 | fs->write_int( fs, name, node->data.i ); |
| 3447 | break; |
| 3448 | case CV_NODE_REAL: |
| 3449 | fs->write_real( fs, name, node->data.f ); |
| 3450 | break; |
| 3451 | case CV_NODE_STR: |
| 3452 | fs->write_string( fs, name, node->data.str.ptr, 0 ); |
| 3453 | break; |
| 3454 | case CV_NODE_SEQ: |
| 3455 | case CV_NODE_MAP: |
| 3456 | fs->start_write_struct( fs, name, CV_NODE_TYPE(node->tag) + |
| 3457 | (CV_NODE_SEQ_IS_SIMPLE(node->data.seq) ? CV_NODE_FLOW : 0), |
| 3458 | node->info ? node->info->type_name : 0 ); |
| 3459 | icvWriteCollection( fs, node ); |
| 3460 | fs->end_write_struct( fs ); |
| 3461 | break; |
| 3462 | case CV_NODE_NONE: |
| 3463 | fs->start_write_struct( fs, name, CV_NODE_SEQ, 0 ); |
| 3464 | fs->end_write_struct( fs ); |
| 3465 | break; |
| 3466 | default: |
| 3467 | CV_Error( CV_StsBadFlag, "Unknown type of file node" ); |
| 3468 | } |
| 3469 | } |
| 3470 | |
| 3471 | |
| 3472 | CV_IMPL void |
no test coverage detected