aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/curl/src/tool_main.c
diff options
context:
space:
mode:
authorAlexSm <alex@ydb.tech>2024-01-18 11:28:56 +0100
committerGitHub <noreply@github.com>2024-01-18 11:28:56 +0100
commit9d0a3761b3201e0d9db879a7adf91876ebdb0564 (patch)
tree541d11ac878c18efd7ebca81e35112aa0fef995b /contrib/libs/curl/src/tool_main.c
parent404ef8886ecc9736bc58ade6da2fbd83b486a408 (diff)
downloadydb-9d0a3761b3201e0d9db879a7adf91876ebdb0564.tar.gz
Library import 8 (#1074)
* Library import 8 * Add contrib/libs/cxxsupp/libcxx/include/__verbose_abort
Diffstat (limited to 'contrib/libs/curl/src/tool_main.c')
-rw-r--r--contrib/libs/curl/src/tool_main.c62
1 files changed, 26 insertions, 36 deletions
diff --git a/contrib/libs/curl/src/tool_main.c b/contrib/libs/curl/src/tool_main.c
index 45cc7e0809..446806ecbd 100644
--- a/contrib/libs/curl/src/tool_main.c
+++ b/contrib/libs/curl/src/tool_main.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -25,23 +25,16 @@
#include <sys/stat.h>
-#ifdef WIN32
+#ifdef _WIN32
#include <tchar.h>
#endif
-#ifdef HAVE_SIGNAL_H
#include <signal.h>
-#endif
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
-#ifdef USE_NSS
-#error #include <nspr.h>
-#error #include <plarenas.h>
-#endif
-
#define ENABLE_CURLX_PRINTF
/* use our own printf() functions */
#include "curlx.h"
@@ -50,10 +43,10 @@
#include "tool_doswin.h"
#include "tool_msgs.h"
#include "tool_operate.h"
-#include "tool_panykey.h"
#include "tool_vms.h"
#include "tool_main.h"
#include "tool_libinfo.h"
+#include "tool_stderr.h"
/*
* This is low-level hard-hacking memory leak tracking and similar. Using
@@ -78,6 +71,7 @@ int vms_show = 0;
* when command-line argument globbing is enabled under the MSYS shell, so turn
* it off.
*/
+extern int _CRT_glob;
int _CRT_glob = 0;
#endif /* __MINGW32__ */
@@ -156,8 +150,7 @@ static CURLcode main_init(struct GlobalConfig *config)
#endif
/* Initialise the global config */
- config->showerror = -1; /* Will show errors */
- config->errors = stderr; /* Default errors to stderr */
+ config->showerror = FALSE; /* show errors when silent */
config->styled_output = TRUE; /* enable detection */
config->parallel_max = PARALLEL_DEFAULT;
@@ -176,17 +169,17 @@ static CURLcode main_init(struct GlobalConfig *config)
config->first->global = config;
}
else {
- errorf(config, "error retrieving curl library information\n");
+ errorf(config, "error retrieving curl library information");
free(config->first);
}
}
else {
- errorf(config, "error initializing curl library\n");
+ errorf(config, "error initializing curl library");
free(config->first);
}
}
else {
- errorf(config, "error initializing curl\n");
+ errorf(config, "error initializing curl");
result = CURLE_FAILED_INIT;
}
@@ -197,10 +190,6 @@ static void free_globalconfig(struct GlobalConfig *config)
{
Curl_safefree(config->trace_dump);
- if(config->errors_fopened && config->errors)
- fclose(config->errors);
- config->errors = NULL;
-
if(config->trace_fopened && config->trace_stream)
fclose(config->trace_stream);
config->trace_stream = NULL;
@@ -217,14 +206,6 @@ static void main_free(struct GlobalConfig *config)
/* Cleanup the easy handle */
/* Main cleanup */
curl_global_cleanup();
-#ifdef USE_NSS
- if(PR_Initialized()) {
- /* prevent valgrind from reporting still reachable mem from NSPR arenas */
- PL_ArenaFinish();
- /* prevent valgrind from reporting possibly lost memory (fd cache, ...) */
- PR_Cleanup();
- }
-#endif
free_globalconfig(config);
/* Free the config structures */
@@ -237,6 +218,12 @@ static void main_free(struct GlobalConfig *config)
** curl tool main function.
*/
#ifdef _UNICODE
+#if defined(__GNUC__)
+/* GCC doesn't know about wmain() */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wmissing-prototypes"
+#pragma GCC diagnostic ignored "-Wmissing-declarations"
+#endif
int wmain(int argc, wchar_t *argv[])
#else
int main(int argc, char *argv[])
@@ -246,7 +233,9 @@ int main(int argc, char *argv[])
struct GlobalConfig global;
memset(&global, 0, sizeof(global));
-#ifdef WIN32
+ tool_init_stderr();
+
+#ifdef _WIN32
/* Undocumented diagnostic option to list the full paths of all loaded
modules. This is purposely pre-init. */
if(argc == 2 && !_tcscmp(argv[1], _T("--dump-module-paths"))) {
@@ -259,13 +248,13 @@ int main(int argc, char *argv[])
/* win32_init must be called before other init routines. */
result = win32_init();
if(result) {
- fprintf(stderr, "curl: (%d) Windows-specific init failed.\n", result);
+ errorf(&global, "(%d) Windows-specific init failed", result);
return result;
}
#endif
if(main_checkfds()) {
- fprintf(stderr, "curl: out of file descriptors\n");
+ errorf(&global, "out of file descriptors");
return CURLE_FAILED_INIT;
}
@@ -287,16 +276,11 @@ int main(int argc, char *argv[])
main_free(&global);
}
-#ifdef WIN32
+#ifdef _WIN32
/* Flush buffers of all streams opened in write or update mode */
fflush(NULL);
#endif
-#ifdef __NOVELL_LIBC__
- if(!getenv("_IN_NETWARE_BASH_"))
- tool_pressanykey();
-#endif
-
#ifdef __VMS
vms_special_exit(result, vms_show);
#else
@@ -304,4 +288,10 @@ int main(int argc, char *argv[])
#endif
}
+#ifdef _UNICODE
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
+#endif
+
#endif /* ndef UNITTESTS */