mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-30 02:59:22 -05:00
0b96ae1f6a
Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`, now with "east const" enforcement. Use `clang-format` version 18. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit. Issue: #26123
72 lines
1.4 KiB
C
72 lines
1.4 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#if defined(_MSC_VER) && _MSC_VER < 1900
|
|
# include <stdarg.h>
|
|
static int snprintf(char* buffer, size_t count, char const* format, ...)
|
|
{
|
|
int n;
|
|
va_list argptr;
|
|
va_start(argptr, format);
|
|
n = _vscprintf(format, argptr);
|
|
vsnprintf_s(buffer, count, _TRUNCATE, format, argptr);
|
|
va_end(argptr);
|
|
return n;
|
|
}
|
|
#endif
|
|
|
|
static int launch(int argc, char const* argv[])
|
|
{
|
|
char cmd[4096];
|
|
size_t len = 0;
|
|
char const* sep = "";
|
|
int i;
|
|
int n;
|
|
#ifdef _WIN32
|
|
n = snprintf(cmd + len, sizeof(cmd) - len, "cmd /C \"");
|
|
if (n < 0) {
|
|
return 1;
|
|
}
|
|
len += n;
|
|
#endif
|
|
for (i = 0; i < argc; ++i) {
|
|
n = snprintf(cmd + len, sizeof(cmd) - len, "%s\"%s\"", sep, argv[i]);
|
|
if (n < 0) {
|
|
return 1;
|
|
}
|
|
len += n;
|
|
if (len >= sizeof(cmd)) {
|
|
fprintf(stderr, "error: command too long\n");
|
|
return 1;
|
|
}
|
|
sep = " ";
|
|
}
|
|
#ifdef _WIN32
|
|
printf("launching: %s\n", cmd + 8);
|
|
n = snprintf(cmd + len, sizeof(cmd) - len, "\"");
|
|
if (n < 1) {
|
|
return 1;
|
|
}
|
|
#else
|
|
printf("launching: %s\n", cmd);
|
|
#endif
|
|
fflush(stdout);
|
|
return system(cmd);
|
|
}
|
|
|
|
int main(int argc, char const* argv[])
|
|
{
|
|
int ownArgs = 1;
|
|
int i;
|
|
for (i = 0; i < argc; ++i) {
|
|
printf("test_launcher: got arg %d '%s'\n", i, argv[i]);
|
|
if (ownArgs && strcmp(argv[i], "--") == 0) {
|
|
ownArgs = 0;
|
|
} else if (!ownArgs) {
|
|
return launch(argc - i, argv + i);
|
|
}
|
|
}
|
|
return 1;
|
|
}
|