From 27ccdd251722f4be1b9c1110481ed0af67464563 Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Thu, 25 Nov 2021 04:10:51 +0100 Subject: [PATCH] Fix parentheses in sh_{push,pop}context macros The lack of parentheses around the shp parameter expansion made it impossible to pass something like &sh as the first parameter. --- src/cmd/ksh93/include/fault.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cmd/ksh93/include/fault.h b/src/cmd/ksh93/include/fault.h index ca642be6b..5befa2318 100644 --- a/src/cmd/ksh93/include/fault.h +++ b/src/cmd/ksh93/include/fault.h @@ -103,11 +103,11 @@ struct checkpt }; #define sh_pushcontext(shp,bp,n)( (bp)->mode=(n) , (bp)->olist=0, \ - (bp)->topfd=shp->topfd, (bp)->prev=shp->jmplist, \ + (bp)->topfd=(shp)->topfd, (bp)->prev=(shp)->jmplist, \ (bp)->err = *ERROR_CONTEXT_BASE, \ - shp->jmplist = (sigjmp_buf*)(&(bp)->buff) \ + (shp)->jmplist = (sigjmp_buf*)(&(bp)->buff) \ ) -#define sh_popcontext(shp,bp) (shp->jmplist=(bp)->prev, errorpop(&((bp)->err))) +#define sh_popcontext(shp,bp) ((shp)->jmplist=(bp)->prev, errorpop(&((bp)->err))) extern noreturn void sh_done(void*,int); extern void sh_fault(int);