export enforce_utf8() via internal.h #451

This commit is contained in:
nick black 2020-05-02 15:52:11 -04:00
parent 4951a6876c
commit cd2cbd0d88
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC
2 changed files with 23 additions and 9 deletions

View File

@ -35,6 +35,7 @@ const char* oiio_version(void);
#include <wctype.h> #include <wctype.h>
#include <termios.h> #include <termios.h>
#include <stdbool.h> #include <stdbool.h>
#include <langinfo.h>
#include "notcurses/notcurses.h" #include "notcurses/notcurses.h"
#include "egcpool.h" #include "egcpool.h"
@ -620,6 +621,19 @@ int ncplane_resize_internal(ncplane* n, int keepy, int keepx,
int update_term_dimensions(int fd, int* rows, int* cols); int update_term_dimensions(int fd, int* rows, int* cols);
// might not be particularly fast, use sparingly, ideally once
static inline bool
enforce_utf8(void){
char* enc = nl_langinfo(CODESET);
if(!enc){
return false;
}
if(strcmp(enc, "UTF-8")){
return false;
}
return true;
}
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -13,7 +13,15 @@
static const char* datadir = NOTCURSES_SHARE; static const char* datadir = NOTCURSES_SHARE;
bool enforce_utf8(){ char* find_data(const char* datum){
char* path = (char*)malloc(strlen(datadir) + 1 + strlen(datum) + 1);
strcpy(path, datadir);
strcat(path, "/");
strcat(path, datum);
return path;
}
bool enforce_utf8(void){
char* enc = nl_langinfo(CODESET); char* enc = nl_langinfo(CODESET);
if(!enc){ if(!enc){
return false; return false;
@ -24,14 +32,6 @@ bool enforce_utf8(){
return true; return true;
} }
char* find_data(const char* datum){
char* path = (char*)malloc(strlen(datadir) + 1 + strlen(datum) + 1);
strcpy(path, datadir);
strcat(path, "/");
strcat(path, datum);
return path;
}
static void static void
handle_opts(const char** argv){ handle_opts(const char** argv){
bool inarg = false; bool inarg = false;