diff options
-rw-r--r-- | pp_sys.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -3012,13 +3012,14 @@ PP(pp_stat) * st_ino; and (d) sprintf() doesn't necessarily support * integers as large as st_ino. */ + bool neg; Stat_t s; CLANG_DIAG_IGNORE(-Wtautological-compare); GCC_DIAG_IGNORE(-Wtype-limits); + neg = PL_statcache.st_ino < 0; GCC_DIAG_RESTORE; CLANG_DIAG_RESTORE; -#if ST_INO_SIGN == -1 - if (PL_statcache.st_ino < 0) { + if (neg) { s.st_ino = (IV)PL_statcache.st_ino; if (LIKELY(s.st_ino == PL_statcache.st_ino)) { mPUSHi(s.st_ino); @@ -3036,9 +3037,7 @@ PP(pp_stat) *--p = '-'; mPUSHp(p, buf+sizeof(buf) - p); } - } else -#endif - { + } else { s.st_ino = (UV)PL_statcache.st_ino; if (LIKELY(s.st_ino == PL_statcache.st_ino)) { mPUSHu(s.st_ino); |