ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/Unix/prefs_unix.cpp
(Generate patch)

Comparing SheepShaver/src/Unix/prefs_unix.cpp (file contents):
Revision 1.9 by gbeauche, 2005-03-28T09:05:28Z vs.
Revision 1.12 by asvitkine, 2009-07-23T19:12:51Z

# Line 1 | Line 1
1   /*
2   *  prefs_unix.cpp - Preferences handling, Unix specific things
3   *
4 < *  SheepShaver (C) 1997-2005 Christian Bauer and Marc Hellwig
4 > *  SheepShaver (C) 1997-2008 Christian Bauer and Marc Hellwig
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 54 | Line 54 | static char prefs_path[1024];
54   *  Load preferences from settings file
55   */
56  
57 < void LoadPrefs(void)
57 > void LoadPrefs(const char *vmdir)
58   {
59 +        if (vmdir) {
60 +                snprintf(prefs_path, sizeof(prefs_path), "%s/prefs", vmdir);
61 +                FILE *prefs = fopen(prefs_path, "r");
62 +                if (!prefs) {
63 +                        printf("No file at %s found.\n", prefs_path);
64 +                        exit(1);
65 +                }
66 +                LoadPrefsFromStream(prefs);
67 +                fclose(prefs);
68 +                return;
69 +        }
70 +
71          // Construct prefs path
72          prefs_path[0] = 0;
73          char *home = getenv("HOME");
# Line 107 | Line 119 | void AddPlatformPrefsDefaults(void)
119          PrefsReplaceInt32("mousewheelmode", 1);
120          PrefsReplaceInt32("mousewheellines", 3);
121   #ifdef __linux__
122 <        if (access("/dev/.devfsd", F_OK) < 0) {
111 <                PrefsReplaceString("dsp", "/dev/dsp");
112 <                PrefsReplaceString("mixer", "/dev/mixer");
113 <        } else {
122 >        if (access("/dev/sound/dsp", F_OK) == 0) {
123                  PrefsReplaceString("dsp", "/dev/sound/dsp");
124 +        } else {
125 +                PrefsReplaceString("dsp", "/dev/dsp");
126 +        }
127 +        if (access("/dev/sound/mixer", F_OK) == 0) {
128                  PrefsReplaceString("mixer", "/dev/sound/mixer");
129 +        } else {
130 +                PrefsReplaceString("mixer", "/dev/mixer");
131          }
132   #else
133          PrefsReplaceString("dsp", "/dev/dsp");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines