Select Git revision
-
Fredrik Hübinette (Hubbe) authored
Rev: lib/modules/Yabu.pmod/test.pike:1.3 Rev: src/builtin_functions.c:1.111 Rev: src/docode.c:1.38 Rev: src/docode.h:1.7 Rev: src/interpret.c:1.85 Rev: src/main.c:1.53 Rev: src/module_support.c:1.12 Rev: src/object.c:1.52 Rev: src/operators.c:1.33 Rev: src/operators.h:1.5 Rev: src/stralloc.c:1.36 Rev: src/stralloc.h:1.16 Rev: src/testsuite.in:1.114
Fredrik Hübinette (Hubbe) authoredRev: lib/modules/Yabu.pmod/test.pike:1.3 Rev: src/builtin_functions.c:1.111 Rev: src/docode.c:1.38 Rev: src/docode.h:1.7 Rev: src/interpret.c:1.85 Rev: src/main.c:1.53 Rev: src/module_support.c:1.12 Rev: src/object.c:1.52 Rev: src/operators.c:1.33 Rev: src/operators.h:1.5 Rev: src/stralloc.c:1.36 Rev: src/stralloc.h:1.16 Rev: src/testsuite.in:1.114
object.c 23.38 KiB
/*\
||| This file a part of Pike, and is copyright by Fredrik Hubinette
||| Pike is distributed as GPL (General Public License)
||| See the files COPYING and DISCLAIMER for more information.
\*/
#include "global.h"
RCSID("$Id: object.c,v 1.52 1998/05/25 10:38:46 hubbe Exp $");
#include "object.h"
#include "dynamic_buffer.h"
#include "interpret.h"
#include "program.h"
#include "stralloc.h"
#include "svalue.h"
#include "pike_macros.h"
#include "pike_memory.h"
#include "error.h"
#include "main.h"
#include "array.h"
#include "gc.h"
#include "backend.h"
#include "callback.h"
#include "cpp.h"
#include "builtin_functions.h"
#include "cyclic.h"
#ifdef HAVE_SYS_FILE_H
#include <sys/file.h>
#endif /* HAVE_SYS_FILE_H */
#include "dmalloc.h"
#ifndef SEEK_SET
#ifdef L_SET
#define SEEK_SET L_SET
#else /* !L_SET */
#define SEEK_SET 0
#endif /* L_SET */
#endif /* SEEK_SET */
#ifndef SEEK_CUR
#ifdef L_INCR
#define SEEK_SET L_INCR
#else /* !L_INCR */
#define SEEK_CUR 1
#endif /* L_INCR */
#endif /* SEEK_CUR */
#ifndef SEEK_END
#ifdef L_XTND
#define SEEK_END L_XTND
#else /* !L_XTND */
#define SEEK_END 2
#endif /* L_XTND */
#endif /* SEEK_END */
struct object *master_object = 0;
struct program *master_program =0;
struct object *first_object;
struct object *low_clone(struct program *p)
{
int e;
struct object *o;
struct frame frame;
if(!(p->flags & PROGRAM_FINISHED))
error("Attempting to clone an unfinished program\n");
#ifdef PROFILING
p->num_clones++;