blob: 8cece79bdb7ad4353e16b84d75ab56b08c1027e9 [file] [log] [blame]
// MorgenGrauen MUDlib
//
// svn2news.c -- Setzt die Subversion-Eintraege in magier.mudlib
//
// $Id$
// Erstellt auf Basis von rcs2news von Zook.
#pragma strict_types,save_types
#pragma no_clone,no_shadow
#include <daemon.h>
#define NEWSFILE "/p/daemon/save/svn2news.txt"
#define NEWSFILEOLD "/p/daemon/save/svn2news.old"
#define DEBUG(str) if (find_player("zook")) \
tell_object(find_player("zook"), sprintf("svn2news: DEBUG: %O\n",str))
static void checkrcs()
{
string str;
mixed art;
// Letzte Eintrag sollte ein wenig her sein, damit es keine
// Ueberschneidungen gibt.
if (file_time(NEWSFILE)+1800 > time()) return;
if (!(str=read_file(NEWSFILE,0,10000)) || (str=="")) return;
art=({"magier.mudlib","SVN2NEWS",0,0,
"SVN-Eintraege vom "+dtime(time()),str});
if (("/secure/news"->WriteNote(art,1)>=1) ||
(("/secure/news"->RemoveNote("magier.mudlib",0)>=1) &&
("/secure/news"->WriteNote(art,1)>=1)))
catch(rename(NEWSFILE,NEWSFILEOLD);publish);
else log_file("SVN2NEWS",dtime(time())+
" : Kann RCS-Eintraege nicht nach magier.mudlib posten!\n");
}
void reset()
{
// call_out() noetig, da sonst kein weiteres reset() gerufen wird
// reset() wird nur gerufen bei einem call einer anderen Funktion
// nach einem Reset
call_out("checkrcs",1);
}
void create()
{
seteuid(getuid());
reset();
}
void clean_up(int refc)
{
return 0;
}