1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 #define SAF_TRY_BEGIN                                                                 \
   _saf_place_cur++;                                                                   \
   if (_saf_place_max==_saf_place_cur)                                                 \
   {                                                                                   \
     if (_saf_place_max==0)                                                            \
       _saf_place=(jmp_buf *) calloc(10,sizeof(jmp_buf));                              \
     else                                                                              \
       _saf_place=(jmp_buf *) realloc(_saf_place,(_saf_place_max+10)*sizeof(jmp_buf)); \
     _saf_place_max+=10;                                                               \
   }                                                                                   \
   _saf_except=setjmp(_saf_place[_saf_place_cur]);                                     \
   if (_saf_except==0)