*
* Kern Sibbald, September MMI
*
+ * Version $Id$
+ *
*/
/*
- Copyright (C) 2000, 2001, 2002 Kern Sibbald and John Walker
+ Copyright (C) 2000-2003 Kern Sibbald and John Walker
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
jcr->JobStatus = JS_Running;
- set_find_options(jcr->ff, jcr->incremental, jcr->mtime);
-
- stat = find_files(jcr->ff, tally_file, (void *)jcr);
+ set_find_options((FF_PKT *)jcr->ff, jcr->incremental, jcr->mtime);
+ stat = find_files(jcr, (FF_PKT *)jcr->ff, tally_file, (void *)jcr);
return stat;
}
/*
* Called here by find() for each file included.
*
- * *****FIXME***** add FSMs File System Modules
- *
*/
static int tally_file(FF_PKT *ff_pkt, void *ijcr)
{
- JCR *jcr = (JCR *) ijcr;
+ JCR *jcr = (JCR *)ijcr;
+ ATTR attr;
+ if (job_canceled(jcr)) {
+ return 0;
+ }
switch (ff_pkt->type) {
case FT_LNKSAVED: /* Hard linked, file already saved */
- break;
case FT_REGE:
case FT_REG:
case FT_LNK:
case FT_DIR:
case FT_SPEC:
+ case FT_RAW:
+ case FT_FIFO:
break;
case FT_NOACCESS:
case FT_NOFOLLOW:
ff_pkt->statp.st_size > 0) {
jcr->JobBytes += ff_pkt->statp.st_size;
}
-
- jcr->JobFiles++; /* increment number of files sent */
+ jcr->num_files_examined++;
+ jcr->JobFiles++; /* increment number of files seen */
+ if (jcr->listing) {
+ memcpy(&attr.statp, &ff_pkt->statp, sizeof(struct stat));
+ attr.type = ff_pkt->type;
+ attr.ofname = (POOLMEM *)ff_pkt->fname;
+ attr.olname = (POOLMEM *)ff_pkt->link;
+ print_ls_output(jcr, &attr);
+ }
return 1;
}