--- loader2/loader.c | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/loader2/loader.c b/loader2/loader.c index ae8b91a..afc76d3 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -1649,15 +1649,51 @@ int main(int argc, char ** argv) { logMessage(INFO, "Trying to detect vendor driver discs"); dd = findDriverDiskByLabel(); dditer = dd; + + if (dd && !loaderData.ksFile) { + startNewt(); + } + while(dditer){ + /* If in interactive mode, ask for confirmation before loading the DD */ + if (!loaderData.ksFile) { + char * buf; + if (asprintf(&buf, + _("Driver disc was detected in %s. " + "Do you want to use it?."), + dditer->device) == -1) { + logMessage(ERROR, "asprintf error in Driver Disc code"); + break; + }; + + rc = newtWinChoice(_("Driver disc detected"), _("Use it"), _("Skip it"), + buf); + free(buf); + if (rc == 2) { + logMessage(INFO, "Skipping driver disk %s.", (char*)(dditer->device)); + + /* next DD */ + dditer = dditer->next; + continue; + } + } + + if(loadDriverDiskFromPartition(&loaderData, dditer->device)){ - logMessage(ERROR, "Automatic driver disk loader failed for %s.", dditer->device); + logMessage(ERROR, "Automatic driver disk loader failed for %s.", dditer->device); } else{ logMessage(INFO, "Automatic driver disk loader succeeded for %s.", dditer->device); } + + /* Next DD */ dditer = dditer->next; } + + if (dd && !loaderData.ksFile) { + stopNewt(); + } + ddlist_free(dd); } -- 1.6.6.1 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list