Diff for /gforth/engine/main.c between versions 1.245 and 1.246

version 1.245, 2012/03/23 19:53:37 version 1.246, 2012/03/23 20:49:44
Line 139  int ufileattr[6]= { Line 139  int ufileattr[6]= {
 #endif  #endif
   
 #ifdef MSDOS  #ifdef MSDOS
 jmp_buf throw_jmp_buf;  jmp_buf throw_jmp_handler;
 #endif  #endif
   
 #if defined(DOUBLY_INDIRECT)  #if defined(DOUBLY_INDIRECT)
Line 710  int gforth_go(void *image, int stack, Ce Line 710  int gforth_go(void *image, int stack, Ce
   Xt *ip0=(Xt *)(image_header->boot_entry);    Xt *ip0=(Xt *)(image_header->boot_entry);
 #ifdef SYSSIGNALS  #ifdef SYSSIGNALS
   int throw_code;    int throw_code;
     jmp_buf throw_jmp_buf;
 #endif  #endif
   
   /* ensure that the cached elements (if any) are accessible */    /* ensure that the cached elements (if any) are accessible */
Line 726  int gforth_go(void *image, int stack, Ce Line 727  int gforth_go(void *image, int stack, Ce
         
   install_signal_handlers(); /* right place? */    install_signal_handlers(); /* right place? */
   
   debugp(stderr, "setjmp(%lx)\n", throw_jmp_buf);    throw_jmp_handler = &throw_jmp_buf;
   if ((throw_code=setjmp(throw_jmp_buf))) {  
     debugp(stderr, "setjmp(%lx)\n", *throw_jmp_handler);
     if ((throw_code=setjmp(*throw_jmp_handler))) {
     static Cell signal_data_stack[24];      static Cell signal_data_stack[24];
     static Cell signal_return_stack[16];      static Cell signal_return_stack[16];
     static Float signal_fp_stack[1];      static Float signal_fp_stack[1];
Line 2326  void* gforth_pointers(Cell n) Line 2329  void* gforth_pointers(Cell n)
   case 6: return (void*)&cstr;    case 6: return (void*)&cstr;
   case 7: return (void*)&tilde_cstr;    case 7: return (void*)&tilde_cstr;
 #endif  #endif
   case 8: return (void*)&throw_jmp_buf;    case 8: return (void*)&throw_jmp_handler;
   default: return NULL;    default: return NULL;
   }    }
 }  }

Removed from v.1.245  
changed lines
  Added in v.1.246


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>