Issue #14687: Cleanup PyUnicode_Format()
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 95993e8..1d85d5b 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -13719,7 +13719,8 @@
             PyObject *signobj = NULL, *fillobj = NULL;
 
             fmtpos++;
-            if (PyUnicode_READ(fmtkind, fmt, fmtpos) == '(') {
+            c = PyUnicode_READ(fmtkind, fmt, fmtpos);
+            if (c == '(') {
                 Py_ssize_t keystart;
                 Py_ssize_t keylen;
                 PyObject *key;
@@ -13765,7 +13766,8 @@
                 argidx = -2;
             }
             while (--fmtcnt >= 0) {
-                switch (c = PyUnicode_READ(fmtkind, fmt, fmtpos++)) {
+                c = PyUnicode_READ(fmtkind, fmt, fmtpos++);
+                switch (c) {
                 case '-': flags |= F_LJUST; continue;
                 case '+': flags |= F_SIGN; continue;
                 case ' ': flags |= F_BLANK; continue;