Fix handling of append.
This commit is contained in:
parent
52e65e043a
commit
3ebed6a85c
@ -194,18 +194,18 @@ int guac_rdp_fs_open(guac_rdp_fs* fs, const char* path,
|
||||
/* Translate access into flags */
|
||||
if (access & ACCESS_GENERIC_ALL)
|
||||
flags = O_RDWR;
|
||||
else if ((access & (ACCESS_GENERIC_WRITE | ACCESS_FILE_WRITE_DATA))
|
||||
else if ((access & ( ACCESS_GENERIC_WRITE
|
||||
| ACCESS_FILE_WRITE_DATA
|
||||
| ACCESS_FILE_APPEND_DATA))
|
||||
&& (access & (ACCESS_GENERIC_READ | ACCESS_FILE_READ_DATA)))
|
||||
flags = O_RDWR;
|
||||
else if (access & (ACCESS_GENERIC_WRITE | ACCESS_FILE_WRITE_DATA))
|
||||
else if (access & ( ACCESS_GENERIC_WRITE
|
||||
| ACCESS_FILE_WRITE_DATA
|
||||
| ACCESS_FILE_APPEND_DATA))
|
||||
flags = O_WRONLY;
|
||||
else
|
||||
flags = O_RDONLY;
|
||||
|
||||
/* If append access requested, add appropriate option */
|
||||
if (access & ACCESS_FILE_APPEND_DATA)
|
||||
flags |= O_APPEND;
|
||||
|
||||
/* Normalize path, return no-such-file if invalid */
|
||||
if (guac_rdp_fs_normalize_path(path, normalized_path)) {
|
||||
GUAC_RDP_DEBUG(1, "Normalization of path \"%s\" failed.", path);
|
||||
|
Loading…
Reference in New Issue
Block a user