SYNOPSIS

string program_name()
string program_name( object obj)

DESCRIPTION

Returns the name of the program of obj, resp. the name of the program of the current object if obj is omitted.

The returned name is usually the name from which the blueprint of obj was compiled (the ‘load name’), but changes if an object replaces its programs with the replace_program(E).

As a special case, if obj is passed as 0, the function will return 0.

The name always ends in ‘.c’. It starts with a ‘/’ unless the driver is running in __COMPAT_MODE__.

Warning

This efun swaps in the program if it is swapped out.

USAGE

object o;
o = clone_object("/std/thing");
write(program_name(o)); // writes "/std/thing.c" in !compat mode
                        // and "std/thing.c"  in compat mode

HISTORY

  • introduced (3.2.6)
  • changed (3.2.9) – allowed a 0 argument.