You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2019/02/05 15:54:32 UTC
[arrow] branch master updated: PARQUET-1525: [C++] remove
dependency on getopt in parquet tools
This is an automated email from the ASF dual-hosted git repository.
wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 623deef PARQUET-1525: [C++] remove dependency on getopt in parquet tools
623deef is described below
commit 623deef5347cddd2c9f9e8d39b66a60e2a59d89d
Author: Renat Valiullin <ri...@gmail.com>
AuthorDate: Tue Feb 5 09:54:22 2019 -0600
PARQUET-1525: [C++] remove dependency on getopt in parquet tools
Author: Renat Valiullin <ri...@gmail.com>
Closes #3545 from rip-nsk/ARROW-4456 and squashes the following commits:
939a4fb3e <Renat Valiullin> Add parquet tools to ci/cpp-msvc-build-main
03422aa99 <Renat Valiullin> remove dependency on getopt in parquet tools
---
ci/cpp-msvc-build-main.bat | 1 +
cpp/tools/parquet/parquet-dump-schema.cc | 27 +++++++++------------------
2 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/ci/cpp-msvc-build-main.bat b/ci/cpp-msvc-build-main.bat
index 779af15..5b1842d 100644
--- a/ci/cpp-msvc-build-main.bat
+++ b/ci/cpp-msvc-build-main.bat
@@ -57,6 +57,7 @@ cmake -G "%GENERATOR%" %CMAKE_ARGS% ^
-DCMAKE_CXX_FLAGS_RELEASE="/MD %CMAKE_CXX_FLAGS_RELEASE%" ^
-DARROW_GANDIVA=%ARROW_BUILD_GANDIVA% ^
-DARROW_PARQUET=ON ^
+ -DPARQUET_BUILD_EXECUTABLES=ON ^
-DARROW_PYTHON=ON ^
.. || exit /B
cmake --build . --target install --config %CONFIGURATION% || exit /B
diff --git a/cpp/tools/parquet/parquet-dump-schema.cc b/cpp/tools/parquet/parquet-dump-schema.cc
index 7b6c1b1..0d7c242 100644
--- a/cpp/tools/parquet/parquet-dump-schema.cc
+++ b/cpp/tools/parquet/parquet-dump-schema.cc
@@ -15,39 +15,30 @@
// specific language governing permissions and limitations
// under the License.
-#include <getopt.h>
#include <iostream>
#include "parquet/api/reader.h"
#include "parquet/api/schema.h"
int main(int argc, char** argv) {
- static struct option options[] = {
- {"help", no_argument, nullptr, 'h'}
- };
bool help_flag = false;
- int opt_index;
- do {
- opt_index = getopt_long(argc, argv, "h", options, nullptr);
- switch (opt_index) {
- case '?':
- case 'h':
+ std::string filename;
+
+ for (int i = 1; i < argc; i++) {
+ if (!std::strcmp(argv[i], "-?") || !std::strcmp(argv[i], "-h") ||
+ !std::strcmp(argv[i], "--help")) {
help_flag = true;
- opt_index = -1;
- break;
+ } else {
+ filename = argv[i];
}
- } while (opt_index != -1);
- argc -= optind;
- argv += optind;
+ }
- if (argc != 1 || help_flag) {
+ if (argc != 2 || help_flag) {
std::cerr << "Usage: parquet-dump-schema [-h] [--help]"
<< " <filename>" << std::endl;
return -1;
}
- std::string filename = argv[0];
-
try {
std::unique_ptr<parquet::ParquetFileReader> reader =
parquet::ParquetFileReader::OpenFile(filename);