diff options
author | Daniil Cherednik <dan.cherednik@gmail.com> | 2022-06-24 13:08:23 +0300 |
---|---|---|
committer | Daniil Cherednik <dan.cherednik@gmail.com> | 2022-06-24 13:08:23 +0300 |
commit | 067fd14417000b3601483f660fe9e27c3b47f0b5 (patch) | |
tree | eb4fc96bcae1331d15432f6555b003185bc75848 /contrib/libs/postgresql/src/port/system.c | |
parent | ece86e83e77dcf3d9e757517d3d16f707272a4c7 (diff) | |
download | ydb-067fd14417000b3601483f660fe9e27c3b47f0b5.tar.gz |
REVERT: r9621717 (disable pg_wrapper for OSS) YQ-1154
ref:d888564254e64ea675383c26661ff5332bf406f5
Diffstat (limited to 'contrib/libs/postgresql/src/port/system.c')
-rw-r--r-- | contrib/libs/postgresql/src/port/system.c | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/contrib/libs/postgresql/src/port/system.c b/contrib/libs/postgresql/src/port/system.c deleted file mode 100644 index 8618e47f97..0000000000 --- a/contrib/libs/postgresql/src/port/system.c +++ /dev/null @@ -1,117 +0,0 @@ -/*------------------------------------------------------------------------- - * - * system.c - * Win32 system() and popen() replacements - * - * - * Win32 needs double quotes at the beginning and end of system() - * strings. If not, it gets confused with multiple quoted strings. - * It also requires double-quotes around the executable name and - * any files used for redirection. Filter other args through - * appendShellString() to quote them. - * - * Generated using Win32 "CMD /?": - * - * 1. If all of the following conditions are met, then quote characters - * on the command line are preserved: - * - * - no /S switch - * - exactly two quote characters - * - no special characters between the two quote characters, where special - * is one of: &<>()@^| - * - there are one or more whitespace characters between the two quote - * characters - * - the string between the two quote characters is the name of an - * executable file. - * - * 2. Otherwise, old behavior is to see if the first character is a quote - * character and if so, strip the leading character and remove the last - * quote character on the command line, preserving any text after the last - * quote character. - * - * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group - * - * src/port/system.c - * - *------------------------------------------------------------------------- - */ - -#if defined(WIN32) && !defined(__CYGWIN__) - -#ifndef FRONTEND -#include "postgres.h" -#else -#include "postgres_fe.h" -#endif - -#include <fcntl.h> - -#undef system -#undef popen - -int -pgwin32_system(const char *command) -{ - size_t cmdlen = strlen(command); - char *buf; - int save_errno; - int res; - - /* - * Create a malloc'd copy of the command string, enclosed with an extra - * pair of quotes - */ - buf = malloc(cmdlen + 2 + 1); - if (buf == NULL) - { - errno = ENOMEM; - return -1; - } - buf[0] = '"'; - memcpy(&buf[1], command, cmdlen); - buf[cmdlen + 1] = '"'; - buf[cmdlen + 2] = '\0'; - - res = system(buf); - - save_errno = errno; - free(buf); - errno = save_errno; - - return res; -} - - -FILE * -pgwin32_popen(const char *command, const char *type) -{ - size_t cmdlen = strlen(command); - char *buf; - int save_errno; - FILE *res; - - /* - * Create a malloc'd copy of the command string, enclosed with an extra - * pair of quotes - */ - buf = malloc(cmdlen + 2 + 1); - if (buf == NULL) - { - errno = ENOMEM; - return NULL; - } - buf[0] = '"'; - memcpy(&buf[1], command, cmdlen); - buf[cmdlen + 1] = '"'; - buf[cmdlen + 2] = '\0'; - - res = _popen(buf, type); - - save_errno = errno; - free(buf); - errno = save_errno; - - return res; -} - -#endif |