This is an automated email from the ASF dual-hosted git repository. gaurava pushed a commit to branch nix-flags-x-platform in repository https://gitbox.apache.org/repos/asf/hadoop.git
commit c72a69861def40813b74663b14c4f08a76f7b522 Author: Gautham Banasandra <[email protected]> AuthorDate: Fri Jul 1 21:39:58 2022 +0530 HDFS-16466. Implement Linux permission flags on Windows * statinfo.cc uses POSIX permission flags. These flags aren't available for Windows. * This PR implements the equivalent flags on Windows to make this cross platform compatible. --- .../main/native/libhdfspp/lib/common/statinfo.cc | 4 ++- .../main/native/libhdfspp/lib/x-platform/stat.h | 42 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/statinfo.cc b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/statinfo.cc index 2fb744fbdde..072a3f36584 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/statinfo.cc +++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/statinfo.cc @@ -17,10 +17,12 @@ */ #include <hdfspp/statinfo.h> -#include <sys/stat.h> + #include <sstream> #include <iomanip> +#include "x-platform/stat.h" + namespace hdfs { StatInfo::StatInfo() diff --git a/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/x-platform/stat.h b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/x-platform/stat.h new file mode 100644 index 00000000000..6fd8fad87f6 --- /dev/null +++ b/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/x-platform/stat.h @@ -0,0 +1,42 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NATIVE_LIBHDFSPP_LIB_CROSS_PLATFORM_STAT +#define NATIVE_LIBHDFSPP_LIB_CROSS_PLATFORM_STAT + +#if defined(_WIN64) + +// Windows. +#define S_IRUSR 0400 +#define S_IWUSR 0200 +#define S_IXUSR 0100 +#define S_IRGRP (S_IRUSR >> 3) +#define S_IWGRP (S_IWUSR >> 3) +#define S_IXGRP (S_IXUSR >> 3) +#define S_IROTH (S_IRGRP >> 3) +#define S_IWOTH (S_IWGRP >> 3) +#define S_IXOTH (S_IXGRP >> 3) + +#else + +// Linux (or other non-Windows OS). +#include <sys/stat.h> + +#endif + +#endif --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
