]> code.delx.au - pulseaudio/blobdiff - src/pulse/error.c
volume: Increase PA_SW_VOLUME_SNPRINT_DB_MAX
[pulseaudio] / src / pulse / error.c
index 29690c89d1389ebdf27238f0b16e134bd70150c1..751d42a81fd5271d0479f15e52bb373e9a81bdf1 100644 (file)
@@ -6,7 +6,7 @@
 
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2 of the License,
+  by the Free Software Foundation; either version 2.1 of the License,
   or (at your option) any later version.
 
   PulseAudio is distributed in the hope that it will be useful, but
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h>
 
-#include <pulse/xmalloc.h>
+#include <pulse/def.h>
 
-#include <pulsecore/core-util.h>
-#include <pulsecore/native-common.h>
+#include <pulsecore/i18n.h>
 
 #include "error.h"
 
 const char*pa_strerror(int error) {
 
     static const char* const errortab[PA_ERR_MAX] = {
-        [PA_OK] = "OK",
-        [PA_ERR_ACCESS] = "Access denied",
-        [PA_ERR_COMMAND] = "Unknown command",
-        [PA_ERR_INVALID] = "Invalid argument",
-        [PA_ERR_EXIST] = "Entity exists",
-        [PA_ERR_NOENTITY] = "No such entity",
-        [PA_ERR_CONNECTIONREFUSED] = "Connection refused",
-        [PA_ERR_PROTOCOL] = "Protocol error",
-        [PA_ERR_TIMEOUT] = "Timeout",
-        [PA_ERR_AUTHKEY] = "No authorization key",
-        [PA_ERR_INTERNAL] = "Internal error",
-        [PA_ERR_CONNECTIONTERMINATED] = "Connection terminated",
-        [PA_ERR_KILLED] = "Entity killed",
-        [PA_ERR_INVALIDSERVER] = "Invalid server",
-        [PA_ERR_MODINITFAILED] = "Module initalization failed",
-        [PA_ERR_BADSTATE] = "Bad state",
-        [PA_ERR_NODATA] = "No data",
-        [PA_ERR_VERSION] = "Incompatible protocol version",
-        [PA_ERR_TOOLARGE] = "Too large"
+        [PA_OK] = N_("OK"),
+        [PA_ERR_ACCESS] = N_("Access denied"),
+        [PA_ERR_COMMAND] = N_("Unknown command"),
+        [PA_ERR_INVALID] = N_("Invalid argument"),
+        [PA_ERR_EXIST] = N_("Entity exists"),
+        [PA_ERR_NOENTITY] = N_("No such entity"),
+        [PA_ERR_CONNECTIONREFUSED] = N_("Connection refused"),
+        [PA_ERR_PROTOCOL] = N_("Protocol error"),
+        [PA_ERR_TIMEOUT] = N_("Timeout"),
+        [PA_ERR_AUTHKEY] = N_("No authorization key"),
+        [PA_ERR_INTERNAL] = N_("Internal error"),
+        [PA_ERR_CONNECTIONTERMINATED] = N_("Connection terminated"),
+        [PA_ERR_KILLED] = N_("Entity killed"),
+        [PA_ERR_INVALIDSERVER] = N_("Invalid server"),
+        [PA_ERR_MODINITFAILED] = N_("Module initialization failed"),
+        [PA_ERR_BADSTATE] = N_("Bad state"),
+        [PA_ERR_NODATA] = N_("No data"),
+        [PA_ERR_VERSION] = N_("Incompatible protocol version"),
+        [PA_ERR_TOOLARGE] = N_("Too large"),
+        [PA_ERR_NOTSUPPORTED] = N_("Not supported"),
+        [PA_ERR_UNKNOWN] = N_("Unknown error code"),
+        [PA_ERR_NOEXTENSION] = N_("No such extension"),
+        [PA_ERR_OBSOLETE] = N_("Obsolete functionality"),
+        [PA_ERR_NOTIMPLEMENTED] = N_("Missing implementation"),
+        [PA_ERR_FORKED] = N_("Client forked"),
+        [PA_ERR_IO] = N_("Input/Output error"),
+        [PA_ERR_BUSY] = N_("Device or resource busy")
     };
 
-    if (error < 0 || error >= PA_ERR_MAX)
+    pa_init_i18n();
+
+    if (error < 0)
+        error = -error;
+
+    if (error >= PA_ERR_MAX)
         return NULL;
 
-    return errortab[error];
+    return _(errortab[error]);
 }