/* Copyright (C) 2015-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: dk4aprgs.ctr */ /** @file dk4aprgs.c The dk4aprgs module. */ #line 10 "dk4aprgs.ctr" #include "dk4conf.h" #include "dk4types.h" #include "dk4app.h" #include "dk4pref.h" #include "dk4strd.h" #include "dk4appi.c" #include "dk4mem.h" #include "dk4enc.h" #include "dk4maidddi.h" #include "dk4maidddu.h" #include "dk4maiddsz.h" #include "dk4maodd.h" #if DK4_HAVE_ASSERT_H #ifndef ASSERT_H_INCLUDED #include #define ASSERT_H_INCLUDED 1 #endif #endif #line 33 "dk4aprgs.ctr" int dk4app_pref_get( dkChar *dptr, size_t szdptr, dk4_app_t *app, const dkChar *name, int excl ) { dk4_pref_t *pptr = NULL; int back = 0; #line 48 "dk4aprgs.ctr" #if DK4_USE_ASSERT assert(NULL != app); assert(NULL != name); assert(NULL != dptr); assert(0 < szdptr); #endif if ((NULL != dptr) && (0 < szdptr) && (NULL != app) && (NULL != name)) { if (0 == (excl & DK4_APP_PREF_SRC_SELF)) { pptr = (dk4_pref_t *)dk4sto_it_find_like(app->i_pref_self, name, 1); } if ((NULL == pptr) && (0 == (excl & DK4_APP_PREF_SRC_CMD))) { pptr = (dk4_pref_t *)dk4sto_it_find_like(app->i_pref_cmd, name, 1); } if ((NULL == pptr) && (0 == (excl & DK4_APP_PREF_SRC_USER))) { pptr = (dk4_pref_t *)dk4sto_it_find_like(app->i_pref_user, name, 1); } if ((NULL == pptr) && (0 == (excl & DK4_APP_PREF_SRC_SYSTEM))) { pptr = (dk4_pref_t *)dk4sto_it_find_like(app->i_pref_sys, name, 1); } if (NULL != pptr) { if (0 != dk4str_cpy_s(dptr, szdptr, pptr->value, NULL)) { back = 1; if (0 != dk4app_log_do(app, DK4_LL_DEBUG)) { dk4app_log_base5(app,DK4_LL_DEBUG,160,161,162,name,pptr->value); } } else { if (0 != dk4app_log_do(app, DK4_LL_DEBUG)) { dk4app_log_base5(app,DK4_LL_DEBUG,163,164,165,name,pptr->value); } } } else { if (0 != dk4app_log_do(app, DK4_LL_DEBUG)) { dk4app_log_base3(app, DK4_LL_DEBUG, 166, 167, name); } } } #line 84 "dk4aprgs.ctr" return back; } int dk4app_pref_get_int( dk4_im_t *dptr, dk4_app_t *app, const dkChar *name, int excl ) { dkChar buf[64]; const dkChar *endptr; dk4_im_t val; int back = 0; #line 102 "dk4aprgs.ctr" #if DK4_USE_ASSERT assert(NULL != app); assert(NULL != name); assert(NULL != dptr); #endif if (NULL != dptr) { if (0 != dk4app_pref_get(buf, DK4_SIZEOF(buf,dkChar), app, name, excl)) { endptr = NULL; val = (dk4_im_t)0L; back = dk4ma_input_dk_dec_dk4_im_t(&val, buf, &endptr, 1, NULL); if (0 != back) { *dptr = val; } if (NULL != app) { if (0 != dk4app_log_do(app, DK4_LL_DEBUG)) { if ((NULL != app->msg_debug) && (43 < app->sz_msg_debug)) { dk4app_log_1( app, app->msg_debug, app->sz_msg_debug, DK4_LL_DEBUG, ((0 != back) ? 42 : 43) ); } } } } } #line 125 "dk4aprgs.ctr" return back; } int dk4app_pref_get_unsigned( dk4_um_t *dptr, dk4_app_t *app, const dkChar *name, int excl ) { dkChar buf[64]; const dkChar *endptr; dk4_um_t val; int back = 0; #line 143 "dk4aprgs.ctr" #if DK4_USE_ASSERT assert(NULL != app); assert(NULL != name); assert(NULL != dptr); #endif if (NULL != dptr) { if (0 != dk4app_pref_get(buf, DK4_SIZEOF(buf,dkChar), app, name, excl)) { endptr = NULL; val = (dk4_um_t)0UL; back = dk4ma_input_dk_dec_dk4_um_t(&val, buf, &endptr, 1, NULL); if (0 != back) { *dptr = val; } if (NULL != app) { if (0 != dk4app_log_do(app, DK4_LL_DEBUG)) { if ((NULL != app->msg_debug) && (45 < app->sz_msg_debug)) { dk4app_log_1( app, app->msg_debug, app->sz_msg_debug, DK4_LL_DEBUG, ((0 != back) ? 44 : 45) ); } } } } } #line 167 "dk4aprgs.ctr" return back; } int dk4app_pref_get_bool( int *dptr, dk4_app_t *app, const dkChar *name, int excl ) { dkChar buf[64]; int back = 0; #line 183 "dk4aprgs.ctr" #if DK4_USE_ASSERT assert(NULL != app); assert(NULL != name); assert(NULL != dptr); #endif if (NULL != dptr) { if (0 != dk4app_pref_get(buf, DK4_SIZEOF(buf,dkChar), app, name, excl)) { if (0 != dk4str_is_bool(buf)) { if (0 != dk4str_is_on(buf)) { *dptr = 1; } else { *dptr = 0; } back = 1; } if (NULL != app) { if (0 != dk4app_log_do(app, DK4_LL_DEBUG)) { if ((NULL != app->msg_debug) && (47 < app->sz_msg_debug)) { dk4app_log_1( app, app->msg_debug, app->sz_msg_debug, DK4_LL_DEBUG, ((0 != back) ? 46 : 47) ); } } } } } #line 210 "dk4aprgs.ctr" return back; } int dk4app_pref_get_size( size_t *dptr, dk4_app_t *app, const dkChar *name, int excl ) { dkChar buf[64]; const dkChar *endptr; size_t val; int back = 0; #line 228 "dk4aprgs.ctr" #if DK4_USE_ASSERT assert(NULL != app); assert(NULL != name); assert(NULL != dptr); #endif if (NULL != dptr) { if (0 != dk4app_pref_get(buf, DK4_SIZEOF(buf,dkChar), app, name, excl)) { endptr = NULL; val = 0; back = dk4ma_input_dk_dec_size_t(&val, buf, &endptr, 1, NULL); if (0 != back) { *dptr = val; } if (NULL != app) { if (0 != dk4app_log_do(app, DK4_LL_DEBUG)) { if ((NULL != app->msg_debug) && (49 < app->sz_msg_debug)) { dk4app_log_1( app, app->msg_debug, app->sz_msg_debug, DK4_LL_DEBUG, ((0 != back) ? 48 : 49) ); } } } } } #line 251 "dk4aprgs.ctr" return back; } int dk4app_pref_set( dk4_app_t *app, const dkChar *name, const dkChar *value ) { dk4_pref_t *prefptr; dkChar *newval; int back = 0; #line 267 "dk4aprgs.ctr" #if DK4_USE_ASSERT assert(NULL != app); assert(NULL != name); #endif if ((NULL != app) && (NULL != name) && (NULL != value)) { prefptr = (dk4_pref_t *)dk4sto_it_find_like(app->i_pref_self, name, 1); if (NULL != prefptr) { newval = dk4str_dup(value, NULL); if (NULL != newval) { dk4mem_release(prefptr->value); prefptr->value = newval; back = 1; app->have_self_pref = 1; } } else { prefptr = dk4pref_open(name, value, NULL); if (NULL != prefptr) { if (dk4sto_add(app->s_pref_self, prefptr, NULL)) { back = 1; app->have_self_pref = 1; } else { dk4pref_close(prefptr); } } } } #line 293 "dk4aprgs.ctr" return back; } int dk4app_pref_set_int(dk4_app_t *app, const dkChar *name, dk4_im_t value) { dkChar buf[16*sizeof(dk4_im_t)]; int back = 0; #line 304 "dk4aprgs.ctr" #if DK4_USE_ASSERT assert(NULL != app); assert(NULL != name); #endif if ((NULL != app) && (NULL != name)) { if (dk4ma_write_decimal_signed(buf,DK4_SIZEOF(buf,dkChar),value,0,NULL)) { back = dk4app_pref_set(app, name, buf); } } #line 313 "dk4aprgs.ctr" return back; } int dk4app_pref_set_unsigned(dk4_app_t *app, const dkChar *name, dk4_um_t value) { dkChar buf[16*sizeof(dk4_um_t)]; int back = 0; #line 324 "dk4aprgs.ctr" #if DK4_USE_ASSERT assert(NULL != app); assert(NULL != name); #endif if ((NULL != app) && (NULL != name)) { if (dk4ma_write_decimal_unsigned(buf,DK4_SIZEOF(buf,dkChar),value,0,NULL)) { back = dk4app_pref_set(app, name, buf); } } #line 334 "dk4aprgs.ctr" return back; }