From: Jeremy Allison Date: Thu, 1 Mar 2007 21:36:05 +0000 (+0000) Subject: r21640: Fix the build for broken platoforms without O_DIRECT or O_DIRECTORY. X-Git-Tag: samba-misc-tags/initial-v3-0-unstable~1020 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a0f6fde0a19bfb4af4c7fa6f29d7015e884d86e;p=thirdparty%2Fsamba.git r21640: Fix the build for broken platoforms without O_DIRECT or O_DIRECTORY. Jeremy. --- diff --git a/source/libsmb/clifile.c b/source/libsmb/clifile.c index 1f547ee3051..ebace8f963a 100644 --- a/source/libsmb/clifile.c +++ b/source/libsmb/clifile.c @@ -1804,12 +1804,16 @@ static uint32 open_flags_to_wire(int flags) if (flags & O_APPEND) { ret |= SMB_O_APPEND; } +#if defined(O_DIRECT) if (flags & O_DIRECT) { ret |= SMB_O_DIRECT; } +#endif +#if defined(O_DIRECTORY) if (flags & O_DIRECTORY) { ret |= SMB_O_DIRECTORY; } +#endif return ret; } @@ -1875,7 +1879,12 @@ int cli_posix_open(struct cli_state *cli, const char *fname, int flags, mode_t m int cli_posix_mkdir(struct cli_state *cli, const char *fname, mode_t mode) { +#if defined(O_DIRECTORY) return (cli_posix_open(cli, fname, O_CREAT|O_DIRECTORY, mode) == -1) ? -1 : 0; +#else + cli_set_nt_error(cli, NT_STATUS_NOT_IMPLEMENTED); + return -1; +#endif } /****************************************************************************