%% options copyright owner = Dirk Krause copyright year = 2015-xxxx SPDX-License-Identifier: BSD-3-Clause %% module #include "dk4app.h" #ifndef DK4MEM_H_INCLUDED #include "dk4mem.h" #endif #ifndef DK4ENC_H_INCLUDED #include "dk4enc.h" #endif #ifndef DK4LOC_H_INCLUDED #include "dk4loc.h" #endif $!trace-include static int dk4app_get_encoding_without_app(int *dptr) { dkChar l[64]; dkChar r[64]; return ( dk4loc_get_settings(l,DK4_SIZEOF(l,dkChar),r,DK4_SIZEOF(r,dkChar),dptr,NULL) ); } int dk4app_get_encoding(dk4_app_t const *app) { int back; if (NULL != app) { back = app->encoding; } else { if (0 == dk4app_get_encoding_without_app(&back)) { #if DK4_ON_WINDOWS back = DK4_FILE_ENCODING_WIN1252; #else back = DK4_FILE_ENCODING_PLAIN; #endif } } return back; } int dk4app_get_stdin_encoding(dk4_app_t const *app) { int back; if (NULL != app) { back = app->enc_in_std; } else { if (0 == dk4app_get_encoding_without_app(&back)) { #if DK4_ON_WINDOWS back = DK4_FILE_ENCODING_WIN1252; #else back = DK4_FILE_ENCODING_PLAIN; #endif } } return back; } int dk4app_get_file_in_encoding(dk4_app_t const *app) { int back; if (NULL != app) { back = app->enc_in_file; } else { if (0 == dk4app_get_encoding_without_app(&back)) { #if DK4_ON_WINDOWS back = DK4_FILE_ENCODING_WIN1252; #else back = DK4_FILE_ENCODING_PLAIN; #endif } } return back; } int dk4app_get_stdout_encoding(dk4_app_t const *app) { int back; if (NULL != app) { back = app->enc_out_std; } else { if (0 == dk4app_get_encoding_without_app(&back)) { #if DK4_ON_WINDOWS back = DK4_FILE_ENCODING_WIN1252; #else back = DK4_FILE_ENCODING_PLAIN; #endif } } return back; } int dk4app_get_file_out_encoding(dk4_app_t const *app) { int back; if (NULL != app) { back = app->enc_out_file; } else { if (0 == dk4app_get_encoding_without_app(&back)) { #if DK4_ON_WINDOWS back = DK4_FILE_ENCODING_WIN1252; #else back = DK4_FILE_ENCODING_PLAIN; #endif } } return back; }