-# define IS_SET(x) ( (long)(x) >= 256 )
-# define IS_OP(x) ( (long)(x) < 256 )
-# define SF_ERROR(x) { rc = -1; goto _error; }
-# define SF_TOP() (char **)( (stp < 0) ? 0 : stack[stp] )
-# define SF_POP() (char **)( (stp < 0) ? 0 : stack[stp--] )
-# define SF_PUSH(x) { if (stp >= 63) SF_ERROR(overflow); stack[++stp] = (char **)(long)(x); }
+#define IS_SET(x) ( (long)(x) >= 256 )
+#define IS_OP(x) ( (long)(x) < 256 )
+#define SF_ERROR(x) do { rc = -1; goto _error; } while (0)
+#define SF_TOP() ( (char **)( (stp < 0) ? 0 : stack[stp] ) )
+#define SF_POP() ( (char **)( (stp < 0) ? 0 : stack[stp--] ) )
+#define SF_PUSH(x) do { \
+ if (stp >= 63) SF_ERROR(overflow); \
+ stack[++stp] = (char **)(long)(x); \
+ } while (0)
+