diff options
| author | David M. Syzdek <david@syzdek.net> | 2022-03-08 16:58:47 -0900 |
|---|---|---|
| committer | David M. Syzdek <david@syzdek.net> | 2022-03-08 16:58:47 -0900 |
| commit | 6f2b54fd8d2183739595b6b2bc1a0642df23406d (patch) | |
| tree | 0fdb9439cebcf72f8e64b0a9d735410e7d9f1a54 | |
| parent | 03146972188f3dc3e3f706194117ffa140408538 (diff) | |
| download | tinyrad-6f2b54fd8d2183739595b6b2bc1a0642df23406d.tar.gz tinyrad-6f2b54fd8d2183739595b6b2bc1a0642df23406d.tar.bz2 tinyrad-6f2b54fd8d2183739595b6b2bc1a0642df23406d.tar.xz tinyrad-6f2b54fd8d2183739595b6b2bc1a0642df23406d.zip | |
libtrutils: adding trutils_error()
| -rw-r--r-- | include/trutils.h | 14 | ||||
| -rw-r--r-- | lib/libtrutils/lverbose.c | 26 |
2 files changed, 40 insertions, 0 deletions
diff --git a/include/trutils.h b/include/trutils.h index 9b51541..bebb5ab 100644 --- a/include/trutils.h +++ b/include/trutils.h | |||
| @@ -76,6 +76,10 @@ | |||
| 76 | #endif | 76 | #endif |
| 77 | 77 | ||
| 78 | 78 | ||
| 79 | #define TRUTILS_OPT_VERBOSE 0x00010000UL | ||
| 80 | #define TRUTILS_OPT_QUIET 0x00020000UL | ||
| 81 | |||
| 82 | |||
| 79 | ////////////////// | 83 | ////////////////// |
| 80 | // // | 84 | // // |
| 81 | // Data Types // | 85 | // Data Types // |
| @@ -106,6 +110,13 @@ extern const char * program_name; | |||
| 106 | //--------------------// | 110 | //--------------------// |
| 107 | #pragma mark verbose prototypes | 111 | #pragma mark verbose prototypes |
| 108 | 112 | ||
| 113 | _TINYRAD_F int | ||
| 114 | trutils_error( | ||
| 115 | unsigned opts, | ||
| 116 | char ** errs, | ||
| 117 | const char * fmt, | ||
| 118 | ... ); | ||
| 119 | |||
| 109 | _TINYRAD_F void | 120 | _TINYRAD_F void |
| 110 | trutils_initialize( | 121 | trutils_initialize( |
| 111 | const char * prog_name ); | 122 | const char * prog_name ); |
| @@ -114,5 +125,8 @@ trutils_initialize( | |||
| 114 | _TINYRAD_F void | 125 | _TINYRAD_F void |
| 115 | trutils_version( void ); | 126 | trutils_version( void ); |
| 116 | 127 | ||
| 128 | void our_print(unsigned opts, const char * fmt, ...); | ||
| 129 | void our_verbose(unsigned opts, const char * fmt, ...); | ||
| 130 | |||
| 117 | 131 | ||
| 118 | #endif /* end of header */ | 132 | #endif /* end of header */ |
diff --git a/lib/libtrutils/lverbose.c b/lib/libtrutils/lverbose.c index c034355..7529342 100644 --- a/lib/libtrutils/lverbose.c +++ b/lib/libtrutils/lverbose.c | |||
| @@ -77,6 +77,32 @@ const char * program_name = "tinyrad-prog"; | |||
| 77 | ///////////////// | 77 | ///////////////// |
| 78 | #pragma mark - Functions | 78 | #pragma mark - Functions |
| 79 | 79 | ||
| 80 | int | ||
| 81 | trutils_error( | ||
| 82 | unsigned opts, | ||
| 83 | char ** errs, | ||
| 84 | const char * fmt, | ||
| 85 | ... ) | ||
| 86 | { | ||
| 87 | int pos; | ||
| 88 | va_list args; | ||
| 89 | |||
| 90 | if ((opts & TRUTILS_OPT_QUIET)) | ||
| 91 | return(1); | ||
| 92 | |||
| 93 | if ((errs)) | ||
| 94 | for(pos = 0; ((errs[pos])); pos++) | ||
| 95 | fprintf(stderr, "%s: %s\n", program_name, errs[pos]); | ||
| 96 | |||
| 97 | fprintf(stderr, "%s: ", program_name); | ||
| 98 | va_start(args, fmt); | ||
| 99 | vfprintf(stderr, fmt, args); | ||
| 100 | va_end(args); | ||
| 101 | fprintf(stderr, "\n"); | ||
| 102 | |||
| 103 | return(1); | ||
| 104 | } | ||
| 105 | |||
| 80 | 106 | ||
| 81 | void | 107 | void |
| 82 | trutils_initialize( | 108 | trutils_initialize( |
