CSYNC_STATUS_INDIVIDUAL_EXCLUDE_LONG_FILENAME,
CYSNC_STATUS_FILE_LOCKED_OR_OPEN,
CSYNC_STATUS_INDIVIDUAL_EXCLUDE_HIDDEN,
- CSYNC_STATUS_INVALID_CHARACTERS
+ CSYNC_STATUS_INVALID_CHARACTERS,
+ CSYNC_STATUS_INDIVIDUAL_STAT_FAILED
};
typedef enum csync_status_codes_e CSYNC_STATUS;
CSYNC_FILE_EXCLUDE_LIST,
CSYNC_FILE_EXCLUDE_INVALID_CHAR,
CSYNC_FILE_EXCLUDE_LONG_FILENAME,
- CSYNC_FILE_EXCLUDE_HIDDEN
+ CSYNC_FILE_EXCLUDE_HIDDEN,
+ CSYNC_FILE_EXCLUDE_STAT_FAILED
};
typedef enum csync_exclude_type_e CSYNC_EXCLUDE_TYPE;
len = strlen(path);
- /* Check if file is excluded */
- excluded = csync_excluded(ctx, path,type);
+ if (type == CSYNC_FTW_TYPE_SKIP) {
+ excluded =CSYNC_FILE_EXCLUDE_STAT_FAILED;
+ } else {
+ /* Check if file is excluded */
+ excluded = csync_excluded(ctx, path,type);
+ }
if( excluded == CSYNC_NOT_EXCLUDED ) {
/* Even if it is not excluded by a pattern, maybe it is to be ignored
}
}
- /* Ignore non statable files and other strange cases. */
- if (type == CSYNC_FTW_TYPE_SKIP) {
- st->instruction = CSYNC_INSTRUCTION_NONE;
- goto out;
- }
-
if (excluded > CSYNC_NOT_EXCLUDED || type == CSYNC_FTW_TYPE_SLINK) {
st->instruction = CSYNC_INSTRUCTION_IGNORE;
if (ctx->current_fs) {
st->error_status = CSYNC_STATUS_INDIVIDUAL_EXCLUDE_LONG_FILENAME; /* File name is too long. */
} else if (excluded == CSYNC_FILE_EXCLUDE_HIDDEN ) {
st->error_status = CSYNC_STATUS_INDIVIDUAL_EXCLUDE_HIDDEN;
+ } else if (excluded == CSYNC_FILE_EXCLUDE_STAT_FAILED) {
+ st->error_status = CSYNC_STATUS_INDIVIDUAL_STAT_FAILED;
}
}
}
case CYSNC_STATUS_FILE_LOCKED_OR_OPEN:
item->_errorString = QLatin1String("File locked"); // don't translate, internal use!
break;
+ case CSYNC_STATUS_INDIVIDUAL_STAT_FAILED:
+ item._errorString = tr("Stat failed.");
+ break;
case CSYNC_STATUS_SERVICE_UNAVAILABLE:
item->_errorString = QLatin1String("Server temporarily unavailable.");
break;