This is still confusing as written. Much safer to use {} to explicitly indicated what should be done"

    while  ((*c++ != END)) {
        ;
    }
    --c;
    for (; *--c == NEW; *c = END) {
        ;
    }