pike.git / lib / master.pike.in

version» Context lines:

pike.git/lib/master.pike.in:1:   // -*- Pike -*-   //   // Master Control Program for Pike.   //   // 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: master.pike.in,v 1.342 2004/04/17 16:00:41 marcus Exp $ + // $Id: master.pike.in,v 1.343 2004/04/17 16:28:53 marcus Exp $      #pike __REAL_VERSION__   //#pragma strict_types      // Some programs destroys character pairs beginning with the currency   // symbol when running in chinese locale.   #if "ยค/" != "\244/"   #error "master.pike.in is corrupted."   #endif   
pike.git/lib/master.pike.in:1331:    resolv_debug("dirnode(%O)->ind(%O) casting (program)%O\n",    dirname, index, fname);    program|object ret;    if (ret = low_cast_to_program(fname, 0, compilation_handler)) {    DEC_RESOLV_MSG_DEPTH();    resolv_debug("dirnode(%O)->ind(%O) => found subprogram %O:%O\n",    dirname, index, fname, ret);   #if constant(load_module)    if (has_suffix(fname, ".so")) {    // This is compatible with 7.4 behaviour. -  if (!ret->_module_value) -  ret = ret(); +  if (!ret->_module_value) { +  object o; +  // NB: p might be a function in a fake_object... +  if(!objectp (o=objects[ret])) o=objects[ret]=ret(); +  ret = o; +  }    if(mixed tmp=ret->_module_value) ret=tmp;    }   #endif    return ret;    }    }    resolv_debug("dirnode(%O)->ind(%O) => failure for file %O\n",    dirname, index, fname);    }