mirror of https://github.com/nirenjan/libx52.git
Use lookup table to implement *_strerror
parent
602071612d
commit
77606ae906
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Saitek X52 Pro MFD & LED driver
|
||||
*
|
||||
* Copyright (C) 2012-2017 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
||||
* Copyright (C) 2012-2021 Nirenjan Krishnan (nirenjan@nirenjan.org)
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
|
||||
*/
|
||||
|
@ -12,65 +12,54 @@
|
|||
#include "libx52.h"
|
||||
#include "gettext.h"
|
||||
|
||||
/** For future use in i18n */
|
||||
#define N_(str) gettext_noop(str)
|
||||
#define _(str) dgettext(PACKAGE, str)
|
||||
|
||||
/* Error buffer used for building custom error strings */
|
||||
static char error_buffer[256];
|
||||
|
||||
/* List of error strings */
|
||||
static const char *error_string[] = {
|
||||
N_("Success"),
|
||||
N_("Initialization failure"),
|
||||
N_("Insufficient memory"),
|
||||
N_("Invalid parameter"),
|
||||
N_("Operation not supported"),
|
||||
N_("Try again"),
|
||||
N_("Input parameter out of range"),
|
||||
N_("USB transaction failure"),
|
||||
N_("USB input/output error"),
|
||||
N_("Access denied"),
|
||||
N_("No such device"),
|
||||
N_("Entity not found"),
|
||||
N_("Resource busy"),
|
||||
N_("Operation timeout"),
|
||||
N_("Overflow"),
|
||||
N_("Pipe error"),
|
||||
N_("System call interrupted"),
|
||||
};
|
||||
|
||||
const char * libx52_strerror(libx52_error_code error)
|
||||
{
|
||||
switch (error) {
|
||||
case LIBX52_SUCCESS:
|
||||
return _("Success");
|
||||
|
||||
case LIBX52_ERROR_INIT_FAILURE:
|
||||
return _("Initialization failure");
|
||||
|
||||
case LIBX52_ERROR_OUT_OF_MEMORY:
|
||||
return _("Insufficient memory");
|
||||
|
||||
case LIBX52_ERROR_INVALID_PARAM:
|
||||
return _("Invalid parameter");
|
||||
|
||||
case LIBX52_ERROR_NOT_SUPPORTED:
|
||||
return _("Operation not supported");
|
||||
|
||||
case LIBX52_ERROR_TRY_AGAIN:
|
||||
return _("Try again");
|
||||
|
||||
case LIBX52_ERROR_OUT_OF_RANGE:
|
||||
return _("Input parameter out of range");
|
||||
|
||||
case LIBX52_ERROR_USB_FAILURE:
|
||||
return _("USB transaction failure");
|
||||
|
||||
case LIBX52_ERROR_IO:
|
||||
return _("USB input/output error");
|
||||
|
||||
case LIBX52_ERROR_PERM:
|
||||
return _("Access denied");
|
||||
|
||||
case LIBX52_ERROR_NO_DEVICE:
|
||||
return _("No such device");
|
||||
|
||||
case LIBX52_ERROR_NOT_FOUND:
|
||||
return _("Entity not found");
|
||||
|
||||
case LIBX52_ERROR_BUSY:
|
||||
return _("Resource busy");
|
||||
|
||||
case LIBX52_ERROR_TIMEOUT:
|
||||
return _("Operation timeout");
|
||||
|
||||
case LIBX52_ERROR_OVERFLOW:
|
||||
return _("Overflow");
|
||||
|
||||
case LIBX52_ERROR_PIPE:
|
||||
return _("Pipe error");
|
||||
|
||||
case LIBX52_ERROR_INTERRUPTED:
|
||||
return _("System call interrupted");
|
||||
return _(error_string[error]);
|
||||
|
||||
default:
|
||||
snprintf(error_buffer, sizeof(error_buffer),
|
||||
|
|
|
@ -95,31 +95,31 @@ const char * libx52io_button_to_str(libx52io_button button)
|
|||
/* Error buffer used for building custom error strings */
|
||||
static char error_buffer[256];
|
||||
|
||||
#define N_(str) gettext_noop(str)
|
||||
|
||||
static const char *error_string[] = {
|
||||
N_("Success"),
|
||||
N_("Initialization failure"),
|
||||
N_("No device"),
|
||||
N_("Invalid arguments"),
|
||||
N_("Connection failure"),
|
||||
N_("I/O error"),
|
||||
N_("Read timeout"),
|
||||
};
|
||||
|
||||
#define _(str) dgettext(PACKAGE, str)
|
||||
|
||||
const char * libx52io_strerror(libx52io_error_code code)
|
||||
{
|
||||
switch (code) {
|
||||
case LIBX52IO_SUCCESS:
|
||||
return _("Success");
|
||||
|
||||
case LIBX52IO_ERROR_INIT_FAILURE:
|
||||
return _("Initialization failure");
|
||||
|
||||
case LIBX52IO_ERROR_NO_DEVICE:
|
||||
return _("No device");
|
||||
|
||||
case LIBX52IO_ERROR_INVALID:
|
||||
return _("Invalid arguments");
|
||||
|
||||
case LIBX52IO_ERROR_CONN:
|
||||
return _("Connection failure");
|
||||
|
||||
case LIBX52IO_ERROR_IO:
|
||||
return _("I/O error");
|
||||
|
||||
case LIBX52IO_ERROR_TIMEOUT:
|
||||
return _("Read timeout");
|
||||
return _(error_string[code]);
|
||||
|
||||
default:
|
||||
snprintf(error_buffer, sizeof(error_buffer), _("Unknown error %d"), code);
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: x52pro-linux 0.2.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nirenjan/x52pro-linux/issues\n"
|
||||
"POT-Creation-Date: 2021-07-26 11:01-0700\n"
|
||||
"POT-Creation-Date: 2021-07-27 01:34-0700\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,96 +17,96 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:25 lib/libx52io/io_strings.c:104
|
||||
#: lib/libx52/x52_strerror.c:23 lib/libx52io/io_strings.c:101
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:28 lib/libx52io/io_strings.c:107
|
||||
#: lib/libx52/x52_strerror.c:24 lib/libx52io/io_strings.c:102
|
||||
msgid "Initialization failure"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:31
|
||||
#: lib/libx52/x52_strerror.c:25
|
||||
msgid "Insufficient memory"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:34
|
||||
#: lib/libx52/x52_strerror.c:26
|
||||
msgid "Invalid parameter"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:37
|
||||
#: lib/libx52/x52_strerror.c:27
|
||||
msgid "Operation not supported"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:40
|
||||
#: lib/libx52/x52_strerror.c:28
|
||||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:43
|
||||
#: lib/libx52/x52_strerror.c:29
|
||||
msgid "Input parameter out of range"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:46
|
||||
#: lib/libx52/x52_strerror.c:30
|
||||
msgid "USB transaction failure"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:49
|
||||
#: lib/libx52/x52_strerror.c:31
|
||||
msgid "USB input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:52
|
||||
#: lib/libx52/x52_strerror.c:32
|
||||
msgid "Access denied"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:55
|
||||
#: lib/libx52/x52_strerror.c:33
|
||||
msgid "No such device"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:58
|
||||
#: lib/libx52/x52_strerror.c:34
|
||||
msgid "Entity not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:61
|
||||
#: lib/libx52/x52_strerror.c:35
|
||||
msgid "Resource busy"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:64
|
||||
#: lib/libx52/x52_strerror.c:36
|
||||
msgid "Operation timeout"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:67
|
||||
#: lib/libx52/x52_strerror.c:37
|
||||
msgid "Overflow"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:70
|
||||
#: lib/libx52/x52_strerror.c:38
|
||||
msgid "Pipe error"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:73
|
||||
#: lib/libx52/x52_strerror.c:39
|
||||
msgid "System call interrupted"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52/x52_strerror.c:77 lib/libx52io/io_strings.c:125
|
||||
#: lib/libx52/x52_strerror.c:66 lib/libx52io/io_strings.c:125
|
||||
#, c-format
|
||||
msgid "Unknown error %d"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52io/io_strings.c:110
|
||||
#: lib/libx52io/io_strings.c:103
|
||||
msgid "No device"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52io/io_strings.c:113
|
||||
#: lib/libx52io/io_strings.c:104
|
||||
msgid "Invalid arguments"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52io/io_strings.c:116
|
||||
#: lib/libx52io/io_strings.c:105
|
||||
msgid "Connection failure"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52io/io_strings.c:119
|
||||
#: lib/libx52io/io_strings.c:106
|
||||
msgid "I/O error"
|
||||
msgstr ""
|
||||
|
||||
#: lib/libx52io/io_strings.c:122
|
||||
#: lib/libx52io/io_strings.c:107
|
||||
msgid "Read timeout"
|
||||
msgstr ""
|
||||
|
||||
|
|
48
po/xx_PL.po
48
po/xx_PL.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: x52pro-linux 0.2.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nirenjan/x52pro-linux/issues\n"
|
||||
"POT-Creation-Date: 2021-07-26 11:01-0700\n"
|
||||
"POT-Creation-Date: 2021-07-27 01:34-0700\n"
|
||||
"PO-Revision-Date: 2021-07-26 11:00-0700\n"
|
||||
"Last-Translator: Nirenjan Krishnan <nirenjan@gmail.com>\n"
|
||||
"Language-Team: Dummy Language for testing i18n\n"
|
||||
|
@ -17,96 +17,96 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:25 lib/libx52io/io_strings.c:104
|
||||
#: lib/libx52/x52_strerror.c:23 lib/libx52io/io_strings.c:101
|
||||
msgid "Success"
|
||||
msgstr "Uccesssay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:28 lib/libx52io/io_strings.c:107
|
||||
#: lib/libx52/x52_strerror.c:24 lib/libx52io/io_strings.c:102
|
||||
msgid "Initialization failure"
|
||||
msgstr "Initializationay ailurefay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:31
|
||||
#: lib/libx52/x52_strerror.c:25
|
||||
msgid "Insufficient memory"
|
||||
msgstr "Insufficientay emorymay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:34
|
||||
#: lib/libx52/x52_strerror.c:26
|
||||
msgid "Invalid parameter"
|
||||
msgstr "Invaliday arameterpay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:37
|
||||
#: lib/libx52/x52_strerror.c:27
|
||||
msgid "Operation not supported"
|
||||
msgstr "Operationay otnay upportedsay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:40
|
||||
#: lib/libx52/x52_strerror.c:28
|
||||
msgid "Try again"
|
||||
msgstr "Ytray againay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:43
|
||||
#: lib/libx52/x52_strerror.c:29
|
||||
msgid "Input parameter out of range"
|
||||
msgstr "Inputay arameterpay outay ofay angeray"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:46
|
||||
#: lib/libx52/x52_strerror.c:30
|
||||
msgid "USB transaction failure"
|
||||
msgstr "USBay ansactiontray ailurefay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:49
|
||||
#: lib/libx52/x52_strerror.c:31
|
||||
msgid "USB input/output error"
|
||||
msgstr "USBay inputay/outputay erroray"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:52
|
||||
#: lib/libx52/x52_strerror.c:32
|
||||
msgid "Access denied"
|
||||
msgstr "Accessay eniedday"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:55
|
||||
#: lib/libx52/x52_strerror.c:33
|
||||
msgid "No such device"
|
||||
msgstr "Onay uchsay eviceday"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:58
|
||||
#: lib/libx52/x52_strerror.c:34
|
||||
msgid "Entity not found"
|
||||
msgstr "Entityay otnay oundfay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:61
|
||||
#: lib/libx52/x52_strerror.c:35
|
||||
msgid "Resource busy"
|
||||
msgstr "Esourceray usybay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:64
|
||||
#: lib/libx52/x52_strerror.c:36
|
||||
msgid "Operation timeout"
|
||||
msgstr "Operationay imeouttay"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:67
|
||||
#: lib/libx52/x52_strerror.c:37
|
||||
msgid "Overflow"
|
||||
msgstr "Overfloway"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:70
|
||||
#: lib/libx52/x52_strerror.c:38
|
||||
msgid "Pipe error"
|
||||
msgstr "Ipepay erroray"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:73
|
||||
#: lib/libx52/x52_strerror.c:39
|
||||
msgid "System call interrupted"
|
||||
msgstr "Ystemsay allcay interrupteday"
|
||||
|
||||
#: lib/libx52/x52_strerror.c:77 lib/libx52io/io_strings.c:125
|
||||
#: lib/libx52/x52_strerror.c:66 lib/libx52io/io_strings.c:125
|
||||
#, c-format
|
||||
msgid "Unknown error %d"
|
||||
msgstr "Unknownay erroray %d"
|
||||
|
||||
#: lib/libx52io/io_strings.c:110
|
||||
#: lib/libx52io/io_strings.c:103
|
||||
msgid "No device"
|
||||
msgstr "Onay eviceday"
|
||||
|
||||
#: lib/libx52io/io_strings.c:113
|
||||
#: lib/libx52io/io_strings.c:104
|
||||
msgid "Invalid arguments"
|
||||
msgstr "Invaliday argumentsay"
|
||||
|
||||
#: lib/libx52io/io_strings.c:116
|
||||
#: lib/libx52io/io_strings.c:105
|
||||
msgid "Connection failure"
|
||||
msgstr "Onnectioncay ailurefay"
|
||||
|
||||
#: lib/libx52io/io_strings.c:119
|
||||
#: lib/libx52io/io_strings.c:106
|
||||
msgid "I/O error"
|
||||
msgstr "I/O erroray"
|
||||
|
||||
#: lib/libx52io/io_strings.c:122
|
||||
#: lib/libx52io/io_strings.c:107
|
||||
msgid "Read timeout"
|
||||
msgstr "Eadray imeouttay"
|
||||
|
||||
|
|
Loading…
Reference in New Issue