/* ******************************************************************************* * Copyright (c) 1997 Martin Poole * ******************************************************************************* ** ** WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! ** ** Any changes to be made to this file should first be checked with ** mplib1 source control for library integrity. ** ** mplib1 source control can be reached at mplib1@quatermass.co.uk ** * * $Source$ * $Author$ * $Date$ * $Revision$ * ******************************************************************************* * * Change History * * $Log$ * ******************************************************************************* */ #ident "$Header$" /* ------------------------------------------------------------------ Include files ------------------------------------------------------------------ */ #include #include #include #include #include #include #include #include #include /* ------------------------------------------------------------------ defines ------------------------------------------------------------------ */ static char *cfg_name=NULL; static struct stat config_stat; /* ------------------------------------------------------------------ Code starts here ------------------------------------------------------------------ */ int watch_cfg_file( const char *config_name ) { int rv=1; if (cfg_name) free(cfg_name); cfg_name = strdup(config_name); if (cfg_name) { config_stat.st_mtime = (time_t)0; rv = stat( cfg_name, &config_stat ); } return(rv); } int check_cfg_file( int force ) { struct stat tstat; int reread=0; if (cfg_name) { if ( stat(cfg_name, &tstat)==0 && tstat.st_mtime > config_stat.st_mtime ) { read_config_file( cfg_name ); memcpy( &config_stat, &tstat, sizeof(struct stat) ); fprintfile( stderr, "Config file change read\n" ); reread=1; }else if (force) { read_config_file( cfg_name ); fprintfile( stderr, "Config file read (force)\n" ); reread=1; } } return(reread); } /* -- End of File -- */