From 2e0cbf393a5320dbf5448ca44a9b5905314b0be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Mon, 29 Jul 2013 00:59:35 +0200 Subject: Massive renaming in the backend folder, all around restructure in the same. --- libutil/CMakeLists.txt | 2 +- libutil/include/cmdutils.h | 9 ++++++++- libutil/src/cmdutils.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 2 deletions(-) (limited to 'libutil') diff --git a/libutil/CMakeLists.txt b/libutil/CMakeLists.txt index 864c7714..d3f90a1d 100644 --- a/libutil/CMakeLists.txt +++ b/libutil/CMakeLists.txt @@ -51,5 +51,5 @@ SET(LIBUTIL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include" PARENT_SCOPE) add_definitions(-DLIBUTIL_LIBRARY) add_library(libUtil SHARED ${LIBUTIL_SOURCES} ${LIBUTIL_HEADERS}) -qt5_use_modules(libUtil Core) +qt5_use_modules(libUtil Core Network) target_link_libraries(libUtil) diff --git a/libutil/include/cmdutils.h b/libutil/include/cmdutils.h index 83397e73..a6379397 100644 --- a/libutil/include/cmdutils.h +++ b/libutil/include/cmdutils.h @@ -29,12 +29,19 @@ /** * @file libutil/include/cmdutils.h - * @brief commandline parsing utilities + * @brief commandline parsing and processing utilities */ namespace Util { namespace Commandline { +/** + * @brief split a string into argv items like a shell would do + * @param args the argument string + * @return a QStringList containing all arguments + */ +LIBUTIL_EXPORT QStringList splitArgs(QString args); + /** * @brief The FlagStyle enum * Specifies how flags are decorated diff --git a/libutil/src/cmdutils.cpp b/libutil/src/cmdutils.cpp index 13db503d..80ba719d 100644 --- a/libutil/src/cmdutils.cpp +++ b/libutil/src/cmdutils.cpp @@ -24,6 +24,56 @@ namespace Util { namespace Commandline { +// commandline splitter +QStringList splitArgs(QString args) +{ + QStringList argv; + QString current; + bool escape = false; + QChar inquotes; + for (int i=0; i