char *insert = NULL;
char *converted = NULL;
size_t insertlen, connectlen = 0;
- int i, saved_errno;
+ int saved_errno = 0;
+ int i;
size_t min_offset;
struct shadow_copy2_config *config;
struct shadow_copy2_private *priv;
errno = ENOENT;
}
fail:
- saved_errno = errno;
+ if (result == NULL) {
+ saved_errno = errno;
+ }
TALLOC_FREE(converted);
TALLOC_FREE(insert);
TALLOC_FREE(slashes);
TALLOC_FREE(path);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return result;
}
time_t timestamp = 0;
char *stripped = NULL;
DIR *ret;
- int saved_errno;
+ int saved_errno = 0;
char *conv;
struct smb_filename *conv_smb_fname = NULL;
return NULL;
}
ret = SMB_VFS_NEXT_OPENDIR(handle, conv_smb_fname, mask, attr);
- saved_errno = errno;
+ if (ret == NULL) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
TALLOC_FREE(conv_smb_fname);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
char *tmp;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
smb_fname->base_name,
}
ret = SMB_VFS_NEXT_STAT(handle, smb_fname);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(smb_fname->base_name);
smb_fname->base_name = tmp;
if (ret == 0) {
convert_sbuf(handle, smb_fname->base_name, &smb_fname->st);
}
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
char *tmp;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
smb_fname->base_name,
}
ret = SMB_VFS_NEXT_LSTAT(handle, smb_fname);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(smb_fname->base_name);
smb_fname->base_name = tmp;
if (ret == 0) {
convert_sbuf(handle, smb_fname->base_name, &smb_fname->st);
}
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
char *tmp;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
smb_fname->base_name,
}
ret = SMB_VFS_NEXT_OPEN(handle, smb_fname, fsp, flags, mode);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(smb_fname->base_name);
smb_fname->base_name = tmp;
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
struct smb_filename *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
return -1;
}
ret = SMB_VFS_NEXT_UNLINK(handle, conv);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
char *conv = NULL;
struct smb_filename *conv_smb_fname;
}
ret = SMB_VFS_NEXT_CHMOD(handle, conv_smb_fname, mode);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
TALLOC_FREE(conv_smb_fname);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
char *conv = NULL;
struct smb_filename *conv_smb_fname = NULL;
return -1;
}
ret = SMB_VFS_NEXT_CHOWN(handle, conv_smb_fname, uid, gid);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
TALLOC_FREE(conv_smb_fname);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
struct smb_filename *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle,
return -1;
}
ret = SMB_VFS_NEXT_NTIMES(handle, conv, ft);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
return -1;
}
ret = SMB_VFS_NEXT_READLINK(handle, conv, buf, bufsiz);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
return -1;
}
ret = SMB_VFS_NEXT_MKNOD(handle, conv, mode, dev);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
char *stripped = NULL;
char *tmp = NULL;
char *result = NULL;
- int saved_errno;
+ int saved_errno = 0;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
×tamp, &stripped)) {
result = SMB_VFS_NEXT_REALPATH(handle, tmp);
done:
- saved_errno = errno;
+ if (result == NULL) {
+ saved_errno = errno;
+ }
TALLOC_FREE(tmp);
TALLOC_FREE(stripped);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return result;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
char *conv;
struct smb_filename *conv_smb_fname = NULL;
return -1;
}
ret = SMB_VFS_NEXT_MKDIR(handle, conv_smb_fname, mode);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
TALLOC_FREE(conv_smb_fname);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
char *conv;
struct smb_filename *conv_smb_fname = NULL;
return -1;
}
ret = SMB_VFS_NEXT_RMDIR(handle, conv_smb_fname);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv_smb_fname);
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
return -1;
}
ret = SMB_VFS_NEXT_CHFLAGS(handle, conv, flags);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
ssize_t ret;
- int saved_errno;
+ int saved_errno = 0;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
return -1;
}
ret = SMB_VFS_NEXT_GETXATTR(handle, conv, aname, value, size);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
ssize_t ret;
- int saved_errno;
+ int saved_errno = 0;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
return -1;
}
ret = SMB_VFS_NEXT_LISTXATTR(handle, conv, list, size);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
{
time_t timestamp = 0;
char *stripped = NULL;
- int ret, saved_errno;
+ int saved_errno = 0;
+ int ret;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
return -1;
}
ret = SMB_VFS_NEXT_REMOVEXATTR(handle, conv, aname);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
ssize_t ret;
- int saved_errno;
+ int saved_errno = 0;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, fname,
return -1;
}
ret = SMB_VFS_NEXT_SETXATTR(handle, conv, aname, value, size, flags);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
ssize_t ret;
- int saved_errno;
+ int saved_errno = 0;
char *conv = NULL;
struct smb_filename *conv_smb_fname = NULL;
return -1;
}
ret = SMB_VFS_NEXT_CHMOD_ACL(handle, conv_smb_fname, mode);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
TALLOC_FREE(conv_smb_fname);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
ssize_t ret;
- int saved_errno;
+ int saved_errno = 0;
char *conv;
DEBUG(10, ("shadow_copy2_get_real_filename called for path=[%s], "
ret = SMB_VFS_NEXT_GET_REAL_FILENAME(handle, conv, name,
mem_ctx, found_name);
DEBUG(10, ("NEXT_REAL_FILE_NAME returned %d\n", (int)ret));
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
char *tmp = NULL;
char *result = NULL;
char *parent_dir = NULL;
- int saved_errno;
+ int saved_errno = 0;
size_t rootpath_len = 0;
struct shadow_copy2_private *priv = NULL;
DBG_DEBUG("connect path is [%s]\n", result);
done:
- saved_errno = errno;
+ if (result == NULL) {
+ saved_errno = errno;
+ }
TALLOC_FREE(tmp);
TALLOC_FREE(stripped);
TALLOC_FREE(parent_dir);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return result;
}
time_t timestamp = 0;
char *stripped = NULL;
ssize_t ret;
- int saved_errno;
+ int saved_errno = 0;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, path,
ret = SMB_VFS_NEXT_DISK_FREE(handle, conv, bsize, dfree, dsize);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}
time_t timestamp = 0;
char *stripped = NULL;
int ret;
- int saved_errno;
+ int saved_errno = 0;
char *conv;
if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, path, ×tamp,
ret = SMB_VFS_NEXT_GET_QUOTA(handle, conv, qtype, id, dq);
- saved_errno = errno;
+ if (ret == -1) {
+ saved_errno = errno;
+ }
TALLOC_FREE(conv);
- errno = saved_errno;
+ if (saved_errno != 0) {
+ errno = saved_errno;
+ }
return ret;
}