]> Sergey Matveev's repositories - bfs.git/commitdiff
Use {0} to initialize mbstate_t rather than memset()
authorTavian Barnes <tavianator@tavianator.com>
Fri, 27 Oct 2023 15:21:38 +0000 (11:21 -0400)
committerTavian Barnes <tavianator@tavianator.com>
Fri, 27 Oct 2023 15:21:38 +0000 (11:21 -0400)
src/bfstd.c
src/eval.c

index a5a7e54d75ed92fd5330040de2884016a448a644..eee02b8d6f0c73275dbcca5cdc5e82b3dd18d031 100644 (file)
@@ -593,7 +593,7 @@ wint_t xmbrtowc(const char *str, size_t *i, size_t len, mbstate_t *mb) {
        case -1: // Invalid byte sequence
        case -2: // Incomplete byte sequence
                *i += 1;
-               memset(mb, 0, sizeof(*mb));
+               *mb = (mbstate_t){0};
                return WEOF;
        default:
                *i += mblen;
@@ -605,9 +605,7 @@ size_t xstrwidth(const char *str) {
        size_t len = strlen(str);
        size_t ret = 0;
 
-       mbstate_t mb;
-       memset(&mb, 0, sizeof(mb));
-
+       mbstate_t mb = {0};
        for (size_t i = 0; i < len;) {
                wint_t wc = xmbrtowc(str, &i, len, &mb);
                if (wc == WEOF) {
@@ -724,9 +722,8 @@ static size_t printable_len(const char *str, size_t len, enum wesc_flags flags)
                }
        }
 
-       mbstate_t mb;
-multibyte:
-       memset(&mb, 0, sizeof(mb));
+multibyte:;
+       mbstate_t mb = {0};
 
        for (size_t j = i; i < len; i = j) {
                wint_t wc = xmbrtowc(str, &j, len, &mb);
@@ -774,9 +771,7 @@ static const char *dollar_esc(char c) {
 static char *dollar_quote(char *dest, char *end, const char *str, size_t len, enum wesc_flags flags) {
        dest = xstpecpy(dest, end, "$'");
 
-       mbstate_t mb;
-       memset(&mb, 0, sizeof(mb));
-
+       mbstate_t mb = {0};
        for (size_t i = 0; i < len;) {
                size_t start = i;
                bool safe = false;
index 05be5bb7c602bc0f7a8196a5df352b6857ed60da..56d7cd8e29da7125f277155aa2bb06bfa384cef5 100644 (file)
@@ -1147,8 +1147,7 @@ static void eval_status(struct bfs_eval *state, struct bfs_bar *bar, struct time
        size_t pathmax = width - rhslen - 3;
        size_t pathwidth = 0;
        size_t lhslen = 0;
-       mbstate_t mb;
-       memset(&mb, 0, sizeof(mb));
+       mbstate_t mb = {0};
        for (size_t i = lhslen; lhslen < pathlen; lhslen = i) {
                wint_t wc = xmbrtowc(status, &i, pathlen, &mb);
                int cwidth;