static int initialised;
int options = LOG_PID;
time_t t;
+ char *logf;
if (initialised) return;
initialised = 1;
- if (lp_log_file()) {
- logfile = fopen(lp_log_file(), "a");
+ logf = lp_log_file();
+ if (logf && *logf) {
+ logfile = fopen(logf, "a");
return;
}
{
extern int module_id;
if (lp_transfer_logging(module_id)) {
- rprintf(FLOG,"Sending %s [%s] %.0f %s\n",
- client_name(0), client_addr(0),
+ rprintf(FLOG,"%d Sending %s [%s] %.0f %s\n",
+ (int)getpid(), client_name(0), client_addr(0),
(double)file->length, f_name(file));
}
}
{
extern int module_id;
if (lp_transfer_logging(module_id)) {
- rprintf(FLOG,"Receiving %s [%s] %.0f %s\n",
- client_name(0), client_addr(0),
+ rprintf(FLOG,"%d Receiving %s [%s] %.0f %s\n",
+ (int)getpid(), client_name(0), client_addr(0),
(double)file->length, f_name(file));
}
}
+/* called when the transfer is interrupted for some reason */
+void log_exit(int code)
+{
+ if (code == 0) {
+ extern struct stats stats;
+ rprintf(FLOG,"%d wrote %.0f bytes read %.0f bytes total size %.0f\n",
+ (int)getpid(),
+ (double)stats.total_written,
+ (double)stats.total_read,
+ (double)stats.total_size);
+ } else {
+ rprintf(FLOG,"%d transfer interrupted\n", (int)getpid());
+ }
+}
+
/* log the incoming transfer of a file for interactive use, this
will be called at the end where the client was run */
void log_transfer(struct file_struct *file, char *fname)
rprintf(FINFO,"%s\n", fname);
}
+