summaryrefslogtreecommitdiff
path: root/support/dktools/dk4appfs04.ctr
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/dktools/dk4appfs04.ctr
Initial commit
Diffstat (limited to 'support/dktools/dk4appfs04.ctr')
-rw-r--r--support/dktools/dk4appfs04.ctr123
1 files changed, 123 insertions, 0 deletions
diff --git a/support/dktools/dk4appfs04.ctr b/support/dktools/dk4appfs04.ctr
new file mode 100644
index 0000000000..d0b58d58a1
--- /dev/null
+++ b/support/dktools/dk4appfs04.ctr
@@ -0,0 +1,123 @@
+%% options
+
+copyright owner = Dirk Krause
+copyright year = 2015-xxxx
+license = bsd
+
+
+
+%% module
+
+#ifndef DK4APP_H_INCLUDED
+#include "dk4app.h"
+#endif
+
+#ifndef DK4FS_H_INCLUDED
+#include "dk4fs.h"
+#endif
+
+#ifndef DK4CONST_H_INCLUDED
+#include "dk4const.h"
+#endif
+
+
+
+$!trace-include
+
+
+
+int
+dk4app_search_i_config_file(
+ dkChar *dptr,
+ size_t szdptr,
+ dk4_app_t *app,
+ const dkChar *shortname,
+ int maxpass,
+ int compressed,
+ dk4_er_t *erp
+)
+{
+ int back = 0;
+ int nPasses;
+ int i;
+ if ((NULL != dptr) && (0 < szdptr) && (NULL != app) && (NULL != shortname)) {
+ nPasses = maxpass;
+ for (i = 0; ((0 == back) && (i <= nPasses)); i++) {
+ back = dk4app_search_one_config_file(
+ dptr, szdptr, app, shortname, maxpass--, compressed, erp
+ );
+ }
+ } else {
+ dk4error_set_simple_error_code(erp, DK4_E_INVALID_ARGUMENTS);
+ }
+ return back;
+}
+
+
+
+int
+dk4app_search_config_file(
+ dkChar *dptr,
+ size_t szdptr,
+ dk4_app_t *app,
+ const dkChar *shortname,
+ int maxpass,
+ int compressed,
+ dk4_er_t *erp
+)
+{
+ const dkChar *msg[5];
+ int do_log = 0;
+ int back = 0;
+ if (NULL != app) {
+ if ((NULL != app->msg_debug) && (39 < app->sz_msg_debug)) {
+ do_log = dk4app_log_do(app, DK4_LL_DEBUG);
+ }
+ }
+ if (0 != do_log) {
+ msg[0] = (app->msg_debug)[33];
+ msg[1] = shortname;
+ msg[2] = (app->msg_debug)[35];
+ if (0 != compressed) {
+#if DK4_HAVE_ZLIB_H
+#if DK4_HAVE_BZLIB_H
+ msg[2] = (app->msg_debug)[39];
+#else
+ msg[2] = (app->msg_debug)[37];
+#endif
+#else
+#if DK4_HAVE_BZLIB_H
+ msg[2] = (app->msg_debug)[38];
+#else
+ msg[2] = (app->msg_debug)[34];
+#endif
+#endif
+ } else {
+ msg[2] = (app->msg_debug)[35];
+ }
+ dk4app_log_msg(app, DK4_LL_DEBUG, msg, 3);
+ back = dk4app_search_i_config_file(
+ dptr, szdptr, app, shortname, maxpass, compressed, erp
+ );
+ if (0 != back) {
+ msg[0] = (app->msg_debug)[24];
+ msg[1] = shortname;
+ msg[2] = (app->msg_debug)[23];
+ msg[3] = dptr;
+ msg[4] = NULL;
+ dk4app_log_msg(app, DK4_LL_DEBUG, msg, 4);
+ } else {
+ msg[0] = (app->msg_debug)[21];
+ msg[1] = shortname;
+ msg[0] = (app->msg_debug)[22];
+ msg[3] = NULL;
+ dk4app_log_msg(app, DK4_LL_DEBUG, msg, 3);
+ }
+ } else {
+ back = dk4app_search_i_config_file(
+ dptr, szdptr, app, shortname, maxpass, compressed, erp
+ );
+ }
+ return back;
+}
+