summaryrefslogtreecommitdiff
path: root/plugins/dfcdrom
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-07-11 02:21:32 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-07-11 02:21:32 +0000
commit133ada0c77babe150a2da5811446e70ab65adfed (patch)
tree0e19426996882501c9c03e126b3f48bd0732c2fe /plugins/dfcdrom
parentb06f5ffdb371ad37fb72d60f994fb714899c7249 (diff)
downloadpcsxr-133ada0c77babe150a2da5811446e70ab65adfed.tar.gz
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@54465 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins/dfcdrom')
-rw-r--r--plugins/dfcdrom/cfg.c35
1 files changed, 29 insertions, 6 deletions
diff --git a/plugins/dfcdrom/cfg.c b/plugins/dfcdrom/cfg.c
index b9e0f92a..2bbc8447 100644
--- a/plugins/dfcdrom/cfg.c
+++ b/plugins/dfcdrom/cfg.c
@@ -30,17 +30,41 @@ long SpinDown;
void LoadConf() {
FILE *f;
- char cfg[255];
+#if defined (__sun)
+ char buf[256], *devname, *nick;
+
+ CdromDev[0] = '\0';
+ f = popen("eject -l", "r");
+
+ if (f != NULL) {
+ while (!feof(f)) {
+ fgets(buf, 256, f);
+
+ devname = strtok(buf, " ");
+ nick = strtok(NULL, " ");
+
+ if (devname == NULL || nick == NULL) continue;
+
+ if (strstr(nick, "cdrom") != NULL) {
+ strcpy(CdromDev, devname);
+ break;
+ }
+ }
+
+ pclose(f);
+ }
+#else
strcpy(CdromDev, DEV_DEF);
+#endif
+
ReadMode = THREADED;
UseSubQ = 0;
CacheSize = 64;
CdrSpeed = 0;
SpinDown = SPINDOWN_VENDOR_SPECIFIC;
- sprintf(cfg, "dfcdrom.cfg");
- f = fopen(cfg, "r");
+ f = fopen("dfcdrom.cfg", "r");
if (f == NULL) return;
fscanf(f, "CdromDev = %s\n", CdromDev);
@@ -60,12 +84,11 @@ void LoadConf() {
void SaveConf() {
FILE *f;
- char cfg[255];
- sprintf(cfg, "dfcdrom.cfg");
- f = fopen(cfg, "w");
+ f = fopen("dfcdrom.cfg", "w");
if (f == NULL)
return;
+
fprintf(f, "CdromDev = %s\n", CdromDev);
fprintf(f, "ReadMode = %ld\n", ReadMode);
fprintf(f, "UseSubQ = %ld\n", UseSubQ);