}
waitpid_check_exitstatus(processor, "output processor/uploader", 0);
- fclose(tf);
}
+ fclose(tf);
progress_log("all complete.");
}
void fetch_with_rsync_gz(const char *stem) { rsync_core(stem,".gz",""); }
void fetch_with_rsync(const char *stem) { rsync_core(stem,"","z"); }
+static void get_timestamp(void) {
+ FILE *tf;
+ pid_t child;
+ sysassert( tf= tmpfile() );
+
+ sysassert( (child= fork()) != -1 );
+ if (!child) {
+ sysassert( dup2(fileno(tf),1)==1 );
+ EXECLP_HELPER("database-info-fetch","timestamp",(char*)0);
+ }
+ waitpid_check_exitstatus(child,"timestamp request",0);
+
+ sysassert( fseek(tf,0,SEEK_SET) == 0 );
+ static char lbuf[30];
+ int l= fread(lbuf,1,sizeof(lbuf),tf);
+ sysassert( !ferror(tf) );
+ assert( feof(tf) );
+ assert( l>1 );
+ l--;
+ assert( lbuf[l]=='\n' );
+ lbuf[l]= 0;
+
+ sysassert(! setenv("YPPSC_DATA_TIMESTAMP",lbuf,1) );
+ fclose(tf);
+}
+
static void set_server(const char *envname, const char *defprotocol,
const char *defvalue, const char *defvalue_test,
const char *userspecified,
o_serv_pctb, o_flags & ff_use_pctb);
set_server("YPPSC_YARRG_DICT_UPDATE",
- "rsync://", "rsync.yarrg.chiark.net/pctb",
- "rsync.yarrg.chiark.net/pctb/test",
+ "rsync://", "rsync.yarrg.chiark.net/yarrg",
+ "rsync.yarrg.chiark.net/yarrg/test",
o_serv_dict_fetch, o_flags & ff_dict_fetch);
set_server("YPPSC_YARRG_DICT_SUBMIT",
o_screenshot_fn= masprintf("%s/_pages.ppm.gz", get_vardir());
/* Actually do the work */
+
+ if ((o_flags & ff_upload) && (o_flags & ff_use_yarrg))
+ get_timestamp();
canon_colour_prepare();