--------------------------------------------------------------------------
| 531 | |
| 532 | //-------------------------------------------------------------------------- |
| 533 | bool MessageVector::dump( const char* filename, const char* header ) |
| 534 | { |
| 535 | Con::printf( "Dumping message vector %s to %s...", getName(), filename ); |
| 536 | FileObject file; |
| 537 | if ( !file.openForWrite( filename ) ) |
| 538 | return( false ); |
| 539 | |
| 540 | // If passed a header line, write it out first: |
| 541 | if ( header ) |
| 542 | file.writeLine( (const U8*) header ); |
| 543 | |
| 544 | // First write out the record count: |
| 545 | char* lineBuf = (char*) dMalloc( 10 ); |
| 546 | dSprintf( lineBuf, 10, "%d", mMessageLines.size() ); |
| 547 | file.writeLine( (const U8*) lineBuf ); |
| 548 | |
| 549 | // Write all of the lines of the message vector: |
| 550 | U32 len; |
| 551 | for ( U32 i = 0; i < mMessageLines.size(); i++ ) |
| 552 | { |
| 553 | len = ( dStrlen( mMessageLines[i].message ) * 2 ) + 10; |
| 554 | lineBuf = (char*) dRealloc( lineBuf, len ); |
| 555 | dSprintf( lineBuf, len, "%d ", mMessageLines[i].messageTag ); |
| 556 | expandEscape( lineBuf + dStrlen( lineBuf ), mMessageLines[i].message ); |
| 557 | file.writeLine( (const U8*) lineBuf ); |
| 558 | } |
| 559 | |
| 560 | file.close(); |
| 561 | return( true ); |
| 562 | } |
| 563 | |
| 564 | |
| 565 | //-------------------------------------------------------------------------- |
no test coverage detected