Mercurial > hg
diff mercurial/mpatch.c @ 38191:b8b253aec953 stable
mpatch: introduce a safesub() helper as well
Same reason as safeadd().
author | Augie Fackler <augie@google.com> |
---|---|
date | Thu, 03 May 2018 12:54:20 -0400 |
parents | 1ec4cb8cbc87 |
children | 0b208c13781c |
line wrap: on
line diff
--- a/mercurial/mpatch.c Mon Apr 30 22:13:42 2018 -0400 +++ b/mercurial/mpatch.c Thu May 03 12:54:20 2018 -0400 @@ -88,6 +88,17 @@ return true; } +/* subtract src from dest and store result in dest */ +static inline bool safesub(int src, int *dest) +{ + if (((src > 0) && (*dest < INT_MIN + src)) || + ((src < 0) && (*dest > INT_MAX + src))) { + return false; + } + *dest -= src; + return true; +} + /* move hunks in source that are less cut to dest, compensating for changes in offset. the last hunk may be split if necessary. */