summaryrefslogtreecommitdiff
path: root/src/export/extract_version_3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/export/extract_version_3.c')
-rw-r--r--src/export/extract_version_3.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/export/extract_version_3.c b/src/export/extract_version_3.c
index 329c1a8..a291771 100644
--- a/src/export/extract_version_3.c
+++ b/src/export/extract_version_3.c
@@ -30,6 +30,7 @@ int main( int args, char **argv )
30{ 30{
31 int filenum = 0, run = 1, first_run = 1; 31 int filenum = 0, run = 1, first_run = 1;
32 size_t offset = 0, old_offset = 0, reported = 0, enc_len = 32; 32 size_t offset = 0, old_offset = 0, reported = 0, enc_len = 32;
33 ssize_t temp = 0;
33 uint8_t mantra[4], id0, id5, *mapped_file; 34 uint8_t mantra[4], id0, id5, *mapped_file;
34 MAP map; 35 MAP map;
35 36
@@ -113,11 +114,11 @@ int main( int args, char **argv )
113 /* Open file and dump our de-"crypted" header and then rest of file */ 114 /* Open file and dump our de-"crypted" header and then rest of file */
114 fh = open( filename, O_CREAT | O_TRUNC | O_WRONLY, 0644 ); 115 fh = open( filename, O_CREAT | O_TRUNC | O_WRONLY, 0644 );
115 if( enc_len > header_len ) { 116 if( enc_len > header_len ) {
116 (void)write( fh, df, enc_len ); 117 temp += write( fh, df, enc_len );
117 (void)write( fh, mf + enc_len, offset - old_offset - enc_len ); 118 temp += write( fh, mf + enc_len, offset - old_offset - enc_len );
118 } else { 119 } else {
119 (void)write( fh, df, header_len ); 120 temp += write( fh, df, header_len );
120 (void)write( fh, mf + header_len, offset - old_offset - header_len ); 121 temp += write( fh, mf + header_len, offset - old_offset - header_len );
121 } 122 }
122 close( fh ); 123 close( fh );
123 } 124 }
@@ -126,5 +127,7 @@ int main( int args, char **argv )
126 } 127 }
127 128
128 unmap_file( &map ); 129 unmap_file( &map );
130 if( !temp )
131 exit(1);
129 return 0; 132 return 0;
130} 133}