--- cdrtools-2.01.01/cdrecord/cdrecord.c.setuid 2005-08-06 13:10:21.000000000 +0200 +++ cdrtools-2.01.01/cdrecord/cdrecord.c 2005-08-06 13:22:12.000000000 +0200 @@ -507,6 +507,20 @@ if (get_cap(CAP_SYS_RAWIO)) perror("WARNING ! Cannot gain SYS_RAWIO capability ! \n"); + scg_settimeout(scgp, timeout); + scgp->verbose = scsi_verbose; + scgp->silent = silent; + scgp->debug = debug; + scgp->kdebug = kdebug; + scgp->cap->c_bsize = DATA_SEC_SIZE; + + /* bufsize = scg_bufsize(scgp, CDR_BUF_SIZE);*/ + bufsize = scg_bufsize(scgp, bufsize); + if (lverbose || debug) + error("SCSI buffer size: %ld\n", bufsize); + if ((buf = scg_getbuf(scgp, bufsize)) == NULL) + comerr("Cannot get SCSI I/O buffer.\n"); + /* * XXX Below this point we do not need root privilleges anymore. */ @@ -531,13 +545,6 @@ * XXX It may be that we later get problems in init_faio() because * XXX this function calls raisepri() to lower the priority slightly. */ - scg_settimeout(scgp, timeout); - scgp->verbose = scsi_verbose; - scgp->silent = silent; - scgp->debug = debug; - scgp->kdebug = kdebug; - scgp->cap->c_bsize = DATA_SEC_SIZE; - /* get the rawio capability */ if (get_cap(CAP_SYS_RAWIO)) @@ -582,13 +589,7 @@ } if (lverbose && driveropts) printf("Driveropts: '%s'\n", driveropts); - -/* bufsize = scg_bufsize(scgp, CDR_BUF_SIZE);*/ - bufsize = scg_bufsize(scgp, bufsize); - if (lverbose || debug) - error("SCSI buffer size: %ld\n", bufsize); - if ((buf = scg_getbuf(scgp, bufsize)) == NULL) - comerr("Cannot get SCSI I/O buffer.\n"); + if ((flags & F_SCANBUS) != 0) { select_target(scgp, stdout);