From 4f032d290913d008e06f1ba0cf4e4268711edf28 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Tue, 16 Mar 2021 18:03:21 -0400 Subject: db_lc_messages_get(): New function --- (limited to 'src') diff --git a/src/local.mk b/src/local.mk index 196ae0c..555eb52 100644 --- a/src/local.mk +++ b/src/local.mk @@ -1,6 +1,8 @@ dodge_balls_SOURCES += \ %reldir%/game.c \ %reldir%/game.h \ + %reldir%/locale.c \ + %reldir%/locale.h \ %reldir%/main.c \ %reldir%/output.c \ %reldir%/output.h \ diff --git a/src/locale.c b/src/locale.c new file mode 100644 index 0000000..c5ef596 --- /dev/null +++ b/src/locale.c @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 P. J. McDermott + * + * This file is part of Dodge Balls + * + * Dodge Balls is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Dodge Balls is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Dodge Balls. If not, see . + */ + +#include +#include "locale.h" + +const char * +db_lc_messages_get(void) +{ + static char *lang; + + lang = getenv("LC_ALL"); + if (lang != NULL && lang[0] != '\0') { + return lang; + } + + lang = getenv("LC_MESSAGES"); + if (lang != NULL && lang[0] != '\0') { + return lang; + } + + lang = getenv("LANG"); + if (lang != NULL && lang[0] != '\0') { + return lang; + } + + return (lang = NULL); +} diff --git a/src/locale.h b/src/locale.h new file mode 100644 index 0000000..9fced63 --- /dev/null +++ b/src/locale.h @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 P. J. McDermott + * + * This file is part of Dodge Balls + * + * Dodge Balls is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Dodge Balls is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Dodge Balls. If not, see . + */ + +#ifndef DB_LOCALE_H_ +#define DB_LOCALE_H_ + +const char *db_lc_messages_get(void); + +#endif /* DB_LOCALE_H_ */ -- cgit v0.9.1