 
                            ...
Note the comment declaring the macro unsafe as a warning for programmers. Alternatively, the macro can be renamed ABS_UNSAFE() to make it painfully apparent that the macro is unsafe. However, a preferable, compliant solution is to declare ABS() as an inline function (see PRE00-AC. Prefer inline or static functions to function-like macros - CERT Secure Coding Standards).
| Code Block | ||
|---|---|---|
| 
 | ||
| 
inline int abs(int x) {
  return (((x) < 0) ? -(x) : (x));
}
/* ... */
m = abs(++n);
 | 
...