pike.git / src / main.c

version» Context lines:

pike.git/src/main.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: main.c,v 1.177 2003/06/30 17:06:09 mast Exp $ + || $Id: main.c,v 1.178 2003/07/21 23:41:34 mast Exp $   */      #include "global.h" - RCSID("$Id: main.c,v 1.177 2003/06/30 17:06:09 mast Exp $"); + RCSID("$Id: main.c,v 1.178 2003/07/21 23:41:34 mast Exp $");   #include "fdlib.h"   #include "backend.h"   #include "module.h"   #include "object.h"   #include "language.h"   #include "lex.h"   #include "pike_types.h"   #include "builtin_functions.h"   #include "array.h"   #include "stralloc.h"
pike.git/src/main.c:715: Inside #if defined(TEST_MULTISET)
   /* A C-level testsuite for the low level stuff in multisets. */    test_multiset();   #endif       if(SETJMP(back))    {    if(throw_severity == THROW_EXIT)    {    num=throw_value.u.integer;    }else{ -  if (get_master()) call_handle_error(); +  if (throw_value.type == T_OBJECT && +  throw_value.u.object->prog == master_load_error_program && +  !get_master()) { +  /* Report this specific error in a nice way. Since there's no +  * master it'd be reported with a raw error dump otherwise. */ +  struct generic_error_struct *err; +  *(Pike_sp++) = throw_value; +  dmalloc_touch_svalue(Pike_sp-1); +  throw_value.type=T_INT; +  err = (struct generic_error_struct *) +  get_storage (Pike_sp[-1].u.object, generic_error_program); +  push_string (err->desc); +  f_werror (1); +  pop_stack(); +  } +  else +  call_handle_error();    num=10;    }    }else{    back.severity=THROW_EXIT;       TRACE((stderr, "Init master...\n"));       master();    call_callback(& post_master_callbacks, 0);    free_callback_list(& post_master_callbacks);