]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
utils: add utility macros to generate GError with file domain topic/utils-static
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sat, 2 Apr 2022 01:46:22 +0000 (10:46 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sat, 2 Apr 2022 01:46:22 +0000 (10:46 +0900)
It's convenient to add macro to generate GError with file domain since
failure of operation over sysfs is reported in the domain.

This commit adds such macro.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
src/ctl/card.c
src/ctl/query.c
src/hwdep/query.c
src/rawmidi/query.c
src/rawmidi/stream-pair.c
src/seq/query.c
src/seq/user-client.c
src/timer/query.c
src/timer/user-instance.c
src/utils/utils.h

index d42e58d17a9666a0f4aa43ed99eaa2eaa7a35b17..77157ebd8f17b82b7baf2df3d5349e46056be946 100644 (file)
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: LGPL-3.0-or-later
 #include "privates.h"
 
+#include <utils.h>
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -52,9 +54,6 @@ static const char *const err_msgs[] = {
     g_set_error(exception, ALSACTL_CARD_ERROR, ALSACTL_CARD_ERROR_FAILED,   \
                 fmt" %d(%s)", arg, errno, strerror(errno))
 
-#define generate_file_error(exception, code, format, arg) \
-    g_set_error(exception, G_FILE_ERROR, code, format, arg)
-
 typedef struct {
     GSource src;
     ALSACtlCard *self;
index 1b89f814e91ad3c8808ab22f8769d8901b98723e..402253d539d7964eaae7bc0f2033777a1b17f311 100644 (file)
@@ -10,9 +10,6 @@
  *                     descriptor
  */
 
-#define generate_file_error(exception, errno, msg) \
-        g_set_error_literal(exception, G_FILE_ERROR, g_file_error_from_errno(errno), msg)
-
 /**
  * alsactl_get_card_id_list:
  * @entries: (array length=entry_count)(out): The list of numerical ID for sound
index 5793467292fbce4095fe8813c314531dd4eb92e2..0576b8b2a224ec0ffd77a0537ca324c590c2e1a8 100644 (file)
  *                     descriptor
  */
 
-#define generate_file_error(error, errno, msg) \
-        g_set_error_literal(error, G_FILE_ERROR, g_file_error_from_errno(errno), msg)
-
-#define generate_file_error_fmt(error, errno, fmt, msg) \
-        g_set_error(error, G_FILE_ERROR, g_file_error_from_errno(errno), fmt, msg)
-
 /**
  * alsahwdep_get_device_id_list:
  * @card_id: The numerical ID of sound card.
index 0be13f2b07ae06c0a17ee186137e16b6e8d62a49..7d93512df07a5f745e142d32385e985051d14a38 100644 (file)
  *                     descriptor
  */
 
-#define generate_file_error(error, errno, msg)    \
-    g_set_error_literal(error, G_FILE_ERROR, g_file_error_from_errno(errno), msg)
-
-#define generate_file_error_fmt(error, errno, fmt, msg) \
-    g_set_error(error, G_FILE_ERROR, g_file_error_from_errno(errno), fmt, msg)
-
 /**
  * alsarawmidi_get_device_id_list:
  * @card_id: The numerical ID of sound card.
index 744d3ae411473df73be0dca1bb06662b9c3d96a2..919a0d2092c6202a4c5f66a8a3a3e9948724ae2c 100644 (file)
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: LGPL-3.0-or-later
 #include "privates.h"
 
+#include <utils.h>
+
 #include <errno.h>
 #include <string.h>
 #include <sys/types.h>
@@ -56,9 +58,6 @@ static const char *const err_msgs[] = {
 #define generate_local_error(error, code) \
         g_set_error_literal(error, ALSARAWMIDI_STREAM_PAIR_ERROR, code, err_msgs[code])
 
-#define generate_file_error(exception, code, format, arg) \
-        g_set_error(exception, G_FILE_ERROR, code, format, arg)
-
 #define generate_syscall_error(error, errno, format, arg)           \
         g_set_error(error, ALSARAWMIDI_STREAM_PAIR_ERROR,           \
                     ALSARAWMIDI_STREAM_PAIR_ERROR_FAILED,           \
index 8daefbacf9a035784c4b37cc3f89ac7710069468..ed1413395e3533c5173727efb0756507fb14ac5e 100644 (file)
  *                     descriptor
  */
 
-#define generate_file_error(exception, errno, msg) \
-        g_set_error_literal(exception, G_FILE_ERROR, g_file_error_from_errno(errno), msg)
-
-#define generate_file_error_fmt(exception, errno, fmt, msg) \
-        g_set_error(exception, G_FILE_ERROR, g_file_error_from_errno(errno), fmt, msg)
-
 /**
  * alsaseq_get_seq_sysname:
  * @sysname: (out): The sysname of ALSA Sequencer.
@@ -75,7 +69,7 @@ static int open_fd(GError **error)
 
     fd = open(devname, O_RDONLY);
     if (fd < 0)
-        generate_file_error_fmt(error, errno, "open(%s)", devname);
+        generate_file_error(error, errno, "open(%s)", devname);
     g_free(devname);
 
     return fd;
index 1e0cf863be5d5841723d9f029d428338c18ca11d..41665103f5f835426c46a86f7cc61c31ef3b1e31 100644 (file)
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: LGPL-3.0-or-later
 #include "privates.h"
 
+#include <utils.h>
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -53,9 +55,6 @@ static const char *const err_msgs[] = {
         g_set_error(exception, ALSASEQ_USER_CLIENT_ERROR, ALSASEQ_USER_CLIENT_ERROR_FAILED, \
                     fmt" %d(%s)", arg, errno, strerror(errno))
 
-#define generate_file_error(exception, code, fmt, arg) \
-        g_set_error(exception, G_FILE_ERROR, code, fmt, arg)
-
 typedef struct {
     GSource src;
     ALSASeqUserClient *self;
index 8deba025924b1e6b1d44b38b6823a9920adc03f4..eb3e35efb2c8b5d358c7b7bec9e88714a735f558 100644 (file)
 
 #define SYSFS_SND_TIMER_NODE    "/sys/module/snd_timer/"
 
-#define generate_file_error(exception, errno, msg) \
-        g_set_error_literal(exception, G_FILE_ERROR, g_file_error_from_errno(errno), msg)
-
-#define generate_file_error_fmt(exception, errno, fmt, msg) \
-        g_set_error(exception, G_FILE_ERROR, g_file_error_from_errno(errno), fmt, msg)
-
 /**
  * alsatimer_get_sysname:
  * @sysname: (out): The string for sysname of ALSA Timer.
@@ -81,7 +75,7 @@ static int open_fd(GError **error)
 
     fd = open(devname, O_RDONLY);
     if (fd < 0)
-        generate_file_error_fmt(error, errno, "open(%s)", devname);
+        generate_file_error(error, errno, "open(%s)", devname);
     g_free(devname);
 
     return fd;
@@ -253,7 +247,7 @@ static void timer_get_node_param_value(const char *param_name, char *buf,
 
     fd = open(literal, O_RDONLY);
     if (fd < 0) {
-        generate_file_error_fmt(error, errno, "open(%s)", literal);
+        generate_file_error(error, errno, "open(%s)", literal);
         return;
     }
 
index 8bccd6d3cb5071a9288fc60f700c3f3ebe248f6d..98d797139696b5e5e384e82eadecf5d6b5acac47 100644 (file)
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: LGPL-3.0-or-later
 #include "privates.h"
 
+#include <utils.h>
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -50,9 +52,6 @@ static const char *const err_msgs[] = {
     g_set_error(exception, ALSATIMER_USER_INSTANCE_ERROR, ALSATIMER_USER_INSTANCE_ERROR_FAILED, \
                 fmt" %d(%s)", arg, errno, strerror(errno))
 
-#define generate_file_error(exception, code, format, arg) \
-    g_set_error(exception, G_FILE_ERROR, code, format, arg)
-
 typedef struct {
     GSource src;
     ALSATimerUserInstance *self;
index 67ba1cff75744666a349dd689b4eed58e409a00a..2c6bca1b7036dc626396a1d207d73175e1934314 100644 (file)
@@ -6,6 +6,9 @@
 #include <stdarg.h>
 #include <libudev.h>
 
+#define generate_file_error(exception, errno, ...) \
+        g_set_error(exception, G_FILE_ERROR, g_file_error_from_errno(errno), __VA_ARGS__)
+
 #define CARD_SYSNAME_PREFIX             "card"
 #define CARD_SYSNAME_TEMPLATE           CARD_SYSNAME_PREFIX "%u"
 #define CONTROL_SYSNAME_TEMPLATE        "controlC%u"