#include <string.h>
#include <locale.h>
#include <assert.h>
#include <stdlib.h>
#include <priv.h>
static const char *def = "Allows DTrace kernel-level tracing.\n";
static const char *trans = "Ah Elbereth Gilthoniel\n";
static void
priv_verify(const char *exp)
{
char *res = priv_gettext("dtrace_kernel");
assert(res != NULL);
assert(strcmp(res, exp) == 0);
free(res);
}
int
main(void)
{
locale_t loc;
(void) setlocale(LC_ALL, "C");
priv_verify(def);
(void) setlocale(LC_ALL, "zz_AA.UTF-8");
priv_verify(trans);
(void) setlocale(LC_ALL, "C");
loc = newlocale(LC_MESSAGES_MASK, "zz_AA.UTF-8", NULL);
assert(loc != NULL);
priv_verify(def);
(void) uselocale(loc);
priv_verify(trans);
(void) uselocale(LC_GLOBAL_LOCALE);
priv_verify(def);
freelocale(loc);
(void) setlocale(LC_ALL, "zz_AA.UTF-8");
loc = newlocale(LC_MESSAGES_MASK, "C", NULL);
assert(loc != NULL);
priv_verify(trans);
(void) uselocale(loc);
priv_verify(def);
(void) uselocale(LC_GLOBAL_LOCALE);
priv_verify(trans);
freelocale(loc);
return (0);
}