Commit 749d6c77 authored by Max Kellermann's avatar Max Kellermann

oss: convert OSS_STAT_* to an enum

Use C instead of CPP.
parent a0b3f355
...@@ -299,13 +299,15 @@ oss_data_free(struct oss_data *od) ...@@ -299,13 +299,15 @@ oss_data_free(struct oss_data *od)
g_free(od); g_free(od);
} }
#define OSS_STAT_NO_ERROR 0 enum oss_stat {
#define OSS_STAT_NOT_CHAR_DEV -1 OSS_STAT_NO_ERROR = 0,
#define OSS_STAT_NO_PERMS -2 OSS_STAT_NOT_CHAR_DEV = -1,
#define OSS_STAT_DOESN_T_EXIST -3 OSS_STAT_NO_PERMS = -2,
#define OSS_STAT_OTHER -4 OSS_STAT_DOESN_T_EXIST = -3,
OSS_STAT_OTHER = -4,
};
static int static enum oss_stat
oss_stat_device(const char *device, int *errno_r) oss_stat_device(const char *device, int *errno_r)
{ {
struct stat st; struct stat st;
...@@ -328,7 +330,7 @@ oss_stat_device(const char *device, int *errno_r) ...@@ -328,7 +330,7 @@ oss_stat_device(const char *device, int *errno_r)
} }
} }
return 0; return OSS_STAT_NO_ERROR;
} }
static const char *default_devices[] = { "/dev/sound/dsp", "/dev/dsp" }; static const char *default_devices[] = { "/dev/sound/dsp", "/dev/dsp" };
...@@ -355,11 +357,11 @@ oss_open_default(const struct config_param *param) ...@@ -355,11 +357,11 @@ oss_open_default(const struct config_param *param)
{ {
int i; int i;
int err[G_N_ELEMENTS(default_devices)]; int err[G_N_ELEMENTS(default_devices)];
int ret[G_N_ELEMENTS(default_devices)]; enum oss_stat ret[G_N_ELEMENTS(default_devices)];
for (i = G_N_ELEMENTS(default_devices); --i >= 0; ) { for (i = G_N_ELEMENTS(default_devices); --i >= 0; ) {
ret[i] = oss_stat_device(default_devices[i], &err[i]); ret[i] = oss_stat_device(default_devices[i], &err[i]);
if (ret[i] == 0) { if (ret[i] == OSS_STAT_NO_ERROR) {
struct oss_data *od = oss_data_new(); struct oss_data *od = oss_data_new();
od->device = default_devices[i]; od->device = default_devices[i];
od->mixer = mixer_new(&oss_mixer, param); od->mixer = mixer_new(&oss_mixer, param);
...@@ -376,6 +378,9 @@ oss_open_default(const struct config_param *param) ...@@ -376,6 +378,9 @@ oss_open_default(const struct config_param *param)
for (i = G_N_ELEMENTS(default_devices); --i >= 0; ) { for (i = G_N_ELEMENTS(default_devices); --i >= 0; ) {
const char *dev = default_devices[i]; const char *dev = default_devices[i];
switch(ret[i]) { switch(ret[i]) {
case OSS_STAT_NO_ERROR:
/* never reached */
break;
case OSS_STAT_DOESN_T_EXIST: case OSS_STAT_DOESN_T_EXIST:
g_warning("%s not found\n", dev); g_warning("%s not found\n", dev);
break; break;
...@@ -385,7 +390,7 @@ oss_open_default(const struct config_param *param) ...@@ -385,7 +390,7 @@ oss_open_default(const struct config_param *param)
case OSS_STAT_NO_PERMS: case OSS_STAT_NO_PERMS:
g_warning("%s: permission denied\n", dev); g_warning("%s: permission denied\n", dev);
break; break;
default: case OSS_STAT_OTHER:
g_warning("Error accessing %s: %s\n", g_warning("Error accessing %s: %s\n",
dev, strerror(err[i])); dev, strerror(err[i]));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment