inherit "/obj/misc/paper";
#include "nroff.h"
/* This will nroff to a file in the same dir. */
private nosave mixed *stuff = ({ });
string file_name = 0;
string language = 0;
void create() {
seteuid(getuid());
::create();
}
void set_file_name(string fname) {
file_name = fname;
}
string query_file_name() { return file_name; }
void set_language(string lang) { language = lang; }
string query_language() { return language; }
mixed *query_read_mess() {
string str;
if(sizeof(stuff) == 0) {
if (file_name) {
str = unguarded( (: NROFF_HAND->cat_file(file_name+"_nroff", 1) :) );
if (!str) {
unguarded((: NROFF_HAND->create_nroff(file_name, file_name+"_nroff") :));
str = unguarded( (: NROFF_HAND->cat_file(file_name+"_nroff", 1) :) );
}
if(!str)
return ::query_read_mess() +
({ ({ "Unable to nroff file.\n", 0, "common", 0 }) });
if( language ) {
return stuff = ({ ({ str, 0, language, 0 }) });
}
return stuff = ({ ({ str, 0, "common", 0 }) });
}
}
return stuff + ::query_read_mess();
}
mapping query_dynamic_auto_load() {
mapping map;
map = ::query_dynamic_auto_load();
map["read mess"] = ::query_read_mess();
return map;
} /* query_dynamic_auto_load() */