Subversion Repositories spk

Rev

Rev 33 | Rev 51 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 33 Rev 42
Line 194... Line 194...
194
	char *data = new char[offset];
194
	char *data = new char[offset];
195
	fread ( data, sizeof(unsigned char), offset, id );
195
	fread ( data, sizeof(unsigned char), offset, id );
196
	fwrite ( data, sizeof(unsigned char), offset, writeId );
196
	fwrite ( data, sizeof(unsigned char), offset, writeId );
197
	delete data;
197
	delete data;
198
 
198
 
199
	/*
-
 
200
	// first write the data before the file
-
 
201
	size_t tosize = offset;
-
 
202
	while ( tosize )
-
 
203
	{
-
 
204
		int read = 500000;
-
 
205
		if ( read > tosize )
-
 
206
			read = tosize;
-
 
207
 
-
 
208
		fread ( data, sizeof(unsigned char), read, id );
-
 
209
		fwrite ( data, sizeof(unsigned char), read, writeId );
-
 
210
 
-
 
211
		tosize -= read;
-
 
212
	}
-
 
213
*/
-
 
214
	// next fseek after and write
199
	// next fseek after and write
215
	fseek ( id, datasize, SEEK_CUR );
200
	fseek ( id, datasize, SEEK_CUR );
216
	size = fullsize - offset - datasize;
201
	size = fullsize - offset - datasize;
-
 
202
	if ( size > 0 ) {
217
	data = new char[size];
203
		data = new char[size];
218
	fread ( data, sizeof(unsigned char), size, id );
204
		fread ( data, sizeof(unsigned char), size, id );
219
	fwrite ( data, sizeof(unsigned char), size, writeId );
205
		fwrite ( data, sizeof(unsigned char), size, writeId );
220
 
-
 
221
	delete data;
206
		delete data;
222
	/*
-
 
223
	while ( size )
-
 
224
	{
207
	}
225
		int read = 500000;
-
 
226
		if ( read > size )
-
 
227
			read = size;
-
 
228
 
-
 
229
		fread ( data, sizeof(unsigned char), read, id );
-
 
230
		fwrite ( data, sizeof(unsigned char), read, writeId );
-
 
231
 
-
 
232
		size -= read;
-
 
233
	}*/
-
 
234
 
208
 
235
	fclose ( writeId );
209
	fclose ( writeId );
236
	fclose ( id );
210
	fclose ( id );
237
 
211
 
238
	// now copy to original file
212
	// now copy to original file
Line 572... Line 546...
572
	{
546
	{
573
		fclose ( aid);
547
		fclose ( aid);
574
		return false;
548
		return false;
575
	}
549
	}
576
 
550
 
-
 
551
	if ( start == end ) {
-
 
552
		fseek(aid, 0, SEEK_END);
-
 
553
	}
-
 
554
	else {
577
	fseek ( aid, start, SEEK_SET );
555
		fseek ( aid, start, SEEK_SET );
-
 
556
	}
578
 
557
 
579
	char *pos = (char *)d;
558
	char *pos = (char *)d;
580
	while ( size > 0 )
559
	while ( size > 0 )
581
	{
560
	{
582
		size_t read = 500000;
561
		size_t read = 500000;