diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/dktools/test-mkdir.ctr |
Initial commit
Diffstat (limited to 'support/dktools/test-mkdir.ctr')
-rw-r--r-- | support/dktools/test-mkdir.ctr | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/support/dktools/test-mkdir.ctr b/support/dktools/test-mkdir.ctr new file mode 100644 index 0000000000..51be7cabd6 --- /dev/null +++ b/support/dktools/test-mkdir.ctr @@ -0,0 +1,106 @@ + + +#include <stdio.h> + + + +#include "dk4app.h" +#include "dk4fput.h" +#include "dk4appmkdh.h" + + + +$!trace-include + + + +static const dkChar * const test_mkdir_help_text[] = { +$!text macro=dkT +This is a test program to create directories. +$!end +}; + +static const dkChar * const test_mkdir_license_text[] = { +$!text macro=dkT +Copyright (c) 2014-2016, Dirk Krause +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of the Dirk Krause nor the names of contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. + +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +$!end +}; + +static dk4_app_t *app = NULL; + +/** Main function. + @param argc Number of command line arguments. + @param argv Command line arguments array. + @return 0 on success, all other values indicate errors. +*/ +#if DK4_CHAR_SIZE > 1 +int wmain(int argc, wchar_t *argv[]) +#else +int main(int argc, char *argv[]) +#endif +{ + int res; + int nargs; + int i; + const dkChar *arg; + $!trace-init test-mkdir.deb + app = dk4app_open_cmd( + argc, argv, NULL, 0, + dkT("dktools-4-test"), dkT("1.0.0"), + dkT("test-mkdir.txt"), test_mkdir_help_text, + test_mkdir_license_text + ); + if (NULL != app) { $? ". app" + nargs = dk4app_get_argc(app); + if (0 < nargs) { + dk4fput_initialize_stdout(); + for (i = 0; i < nargs; i++) { + arg = dk4app_get_argv(app, i); + if (NULL != arg) { + res = dk4app_mkdir_hierarchy(arg, 1, app); + dk4fputs(arg, stdout, NULL); + dk4fputc(dkT(' '), stdout, NULL); + if (0 < res) { + dk4fputs(dkT("SUCCESS"), stdout, NULL); + } else { + dk4fputs(dkT("FAILED"), stdout, NULL); + } + dk4fputc(dkT('\n'), stdout, NULL); + } + } + } + dk4app_close(app); + } else { $? "! app" + } + $!trace-end + return 0; +} + |