Search
lxdream.org :: lxdream :: r1114:2fbf712e53f0
lxdream 0.9.1
released Jun 29
Download Now
changeset1114:2fbf712e53f0
parent1113:174fa8e137b6
child1115:90292b2f2243
authornkeynes
dateTue Aug 31 21:38:38 2010 +1000 (9 years ago)
Remove call to iso_write_opts_set_system_area and just write the bootstrap
area out manually - apparently this function was not present in earlier
versions
src/drivers/cdrom/isofs.c
1.1 --- a/src/drivers/cdrom/isofs.c Sat Jul 31 11:16:44 2010 +1000
1.2 +++ b/src/drivers/cdrom/isofs.c Tue Aug 31 21:38:38 2010 +1000
1.3 @@ -174,7 +174,6 @@
1.4 }
1.5 iso_write_opts_set_appendable(opts,0);
1.6 iso_write_opts_set_ms_block(opts, start_sector);
1.7 - iso_write_opts_set_system_area(opts, (char *)bootstrap, 0, 0);
1.8
1.9 status = iso_image_create_burn_source(image, opts, &burn);
1.10 iso_write_opts_free(opts);
1.11 @@ -197,6 +196,7 @@
1.12 int fd = file_sector_source_get_fd(source);
1.13 source->size = expect;
1.14 lseek( fd, 0, SEEK_SET );
1.15 + write( fd, bootstrap, 32768 );
1.16 for( cdrom_count_t count = 0; count < expect; count++ ) {
1.17 if( burn->read == NULL ) {
1.18 status = burn->read_xt(burn, buf, 2048);
1.19 @@ -212,7 +212,9 @@
1.20 source = NULL;
1.21 break;
1.22 }
1.23 - write( fd, buf, 2048 );
1.24 + /* Discard first 16 sectors, replaced with the bootstrap */
1.25 + if( count >= (32768/2048) )
1.26 + write( fd, buf, 2048 );
1.27 }
1.28 burn->free_data(burn);
1.29 free(burn);
.