From d284de324946a3f518e6e46d13541e3a20c31e67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Thu, 1 Nov 2007 18:01:10 +0000 Subject: [PATCH] fixed handling of parameters git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22788 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/drivers/audio/echo/echo.cpp | 53 ++++++++++++------- .../kernel/drivers/audio/emuxki/emuxki.c | 40 ++++++++------ 2 files changed, 59 insertions(+), 34 deletions(-) diff --git a/src/add-ons/kernel/drivers/audio/echo/echo.cpp b/src/add-ons/kernel/drivers/audio/echo/echo.cpp index 122446b037..b5afbc3a67 100644 --- a/src/add-ons/kernel/drivers/audio/echo/echo.cpp +++ b/src/add-ons/kernel/drivers/audio/echo/echo.cpp @@ -532,26 +532,41 @@ init_driver(void) char *end; uint32 value; - item = get_driver_parameter (settings_handle, "channels", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.channels = value; - - item = get_driver_parameter (settings_handle, "bitsPerSample", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.bitsPerSample = value; - - item = get_driver_parameter (settings_handle, "sample_rate", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.sample_rate = value; - - item = get_driver_parameter (settings_handle, "buffer_frames", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.buffer_frames = value; - - item = get_driver_parameter (settings_handle, "buffer_count", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.buffer_count = value; + item = get_driver_parameter (settings_handle, "channels", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.channels = value; + } + PRINT(("channels %lu\n", current_settings.channels)); + + item = get_driver_parameter (settings_handle, "bitsPerSample", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.bitsPerSample = value; + } + PRINT(("bitsPerSample %lu\n", current_settings.bitsPerSample)); + + item = get_driver_parameter (settings_handle, "sample_rate", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.sample_rate = value; + } + PRINT(("sample_rate %lu\n", current_settings.sample_rate)); + + item = get_driver_parameter (settings_handle, "buffer_frames", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.buffer_frames = value; + } + PRINT(("buffer_frames %lu\n", current_settings.buffer_frames)); + item = get_driver_parameter (settings_handle, "buffer_count", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.buffer_count = value; + } + PRINT(("buffer_count %lu\n", current_settings.buffer_count)); + unload_driver_settings (settings_handle); } diff --git a/src/add-ons/kernel/drivers/audio/emuxki/emuxki.c b/src/add-ons/kernel/drivers/audio/emuxki/emuxki.c index 70c39f0085..11923a0e40 100644 --- a/src/add-ons/kernel/drivers/audio/emuxki/emuxki.c +++ b/src/add-ons/kernel/drivers/audio/emuxki/emuxki.c @@ -2751,25 +2751,35 @@ init_driver(void) char *end; uint32 value; - item = get_driver_parameter (settings_handle, "channels", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.channels = value; + item = get_driver_parameter (settings_handle, "channels", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.channels = value; + } - item = get_driver_parameter (settings_handle, "bitsPerSample", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.bitsPerSample = value; + item = get_driver_parameter (settings_handle, "bitsPerSample", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.bitsPerSample = value; + } - item = get_driver_parameter (settings_handle, "sample_rate", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.sample_rate = value; + item = get_driver_parameter (settings_handle, "sample_rate", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.sample_rate = value; + } - item = get_driver_parameter (settings_handle, "buffer_frames", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.buffer_frames = value; + item = get_driver_parameter (settings_handle, "buffer_frames", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.buffer_frames = value; + } - item = get_driver_parameter (settings_handle, "buffer_count", "0", "0"); - value = strtoul (item, &end, 0); - if (*end == '\0') current_settings.buffer_count = value; + item = get_driver_parameter (settings_handle, "buffer_count", NULL, NULL); + if (item) { + value = strtoul (item, &end, 0); + if (*end == '\0') current_settings.buffer_count = value; + } unload_driver_settings (settings_handle); }