| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
| file Copyright.txt or https://cmake.org/licensing#kwsys for details. */ | |
| #ifndef @KWSYS_NAMESPACE@_System_h | |
| #define @KWSYS_NAMESPACE@_System_h | |
| #include <@KWSYS_NAMESPACE@/Configure.h> | |
| /* Redefine all public interface symbol names to be in the proper | |
| namespace. These macros are used internally to kwsys only, and are | |
| not visible to user code. Use kwsysHeaderDump.pl to reproduce | |
| these macros after making changes to the interface. */ | |
| #if !defined(KWSYS_NAMESPACE) | |
| # define kwsys_ns(x) @KWSYS_NAMESPACE@##x | |
| # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT | |
| #endif | |
| #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS | |
| # define kwsysSystem_Parse_CommandForUnix \ | |
| kwsys_ns(System_Parse_CommandForUnix) | |
| #endif | |
| #if defined(__cplusplus) | |
| extern "C" { | |
| #endif | |
| /** | |
| * Parse a unix-style command line string into separate arguments. | |
| * | |
| * On success, returns a pointer to an array of pointers to individual | |
| * argument strings. Each string is null-terminated and the last | |
| * entry in the array is a NULL pointer (just like argv). It is the | |
| * caller's responsibility to free() the strings and the array of | |
| * pointers to them. | |
| * | |
| * On failure, returns NULL. Failure occurs only on invalid flags or | |
| * when memory cannot be allocated; never due to content of the input | |
| * string. Missing close-quotes are treated as if the necessary | |
| * closing quote appears. | |
| * | |
| * By default single- and double-quoted arguments are supported, and | |
| * any character may be escaped by a backslash. The flags argument is | |
| * reserved for future use, and must be zero (or the call will fail). | |
| */ | |
| kwsysEXPORT char** kwsysSystem_Parse_CommandForUnix(char const* command, | |
| int flags); | |
| #if defined(__cplusplus) | |
| } /* extern "C" */ | |
| #endif | |
| /* If we are building a kwsys .c or .cxx file, let it use these macros. | |
| Otherwise, undefine them to keep the namespace clean. */ | |
| #if !defined(KWSYS_NAMESPACE) | |
| # undef kwsys_ns | |
| # undef kwsysEXPORT | |
| # if !defined(KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS | |
| # undef kwsysSystem_Parse_CommandForUnix | |
| # endif | |
| #endif | |
| #endif |