Am 21.03.21 um 15:46 schrieb Simon Rozman via Openvpn-devel: > It's about using a standard recommended alias for the wcsdup(): > >> warning C4996: 'wcsdup': The POSIX name for this item is deprecated. >> Instead, use the ISO C and C++ conformant name: _wcsdup. See online >> help for details. > > And the documentation says: > >> The Microsoft-implemented POSIX function names strdup and wcsdup are >> deprecated aliases for the _strdup and _wcsdup functions. By default, >> they generate Compiler warning (level 3) C4996. The names are >> deprecated because they don't follow the Standard C rules for >> implementation-specific names. However, the functions are still >> supported. >> >> We recommend you use _strdup and _wcsdup instead. Or, you can continue >> to use these function names, and disable the warning. For more >> information, see Turn off the warning and POSIX function names. > > Reference: > https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strdup-wcsdup > Signed-off-by: Simon Rozman <si...@rozman.si> > --- > src/openvpnserv/interactive.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/openvpnserv/interactive.c b/src/openvpnserv/interactive.c > index 5d5cbfe6..b073a0d5 100644 > --- a/src/openvpnserv/interactive.c > +++ b/src/openvpnserv/interactive.c > @@ -899,7 +899,7 @@ ExecCommand(const WCHAR *argv0, const WCHAR *cmdline, > DWORD timeout) > si.cb = sizeof(si); > > /* CreateProcess needs a modifiable cmdline: make a copy */ > - cmdline_dup = wcsdup(cmdline); > + cmdline_dup = _wcsdup(cmdline); > if (cmdline_dup && CreateProcessW(argv0, cmdline_dup, NULL, NULL, FALSE, > proc_flags, NULL, NULL, &si, &pi) ) > { > @@ -1181,7 +1181,7 @@ SetDNSDomain(const wchar_t *if_name, const char > *domain, undo_lists_t *lists) > /* Add to undo list if domain is non-empty */ > if (err == 0 && wdomain[0] && lists) > { > - wchar_t *tmp_name = wcsdup(if_name); > + wchar_t *tmp_name = _wcsdup(if_name); > if (!tmp_name || AddListItem(&(*lists)[undo_domain], tmp_name)) > { > free(tmp_name); > @@ -1272,7 +1272,7 @@ HandleDNSConfigMessage(const dns_cfg_message_t *msg, > undo_lists_t *lists) > > if (msg->addr_len > 0) > { > - wchar_t *tmp_name = wcsdup(wide_name); > + wchar_t *tmp_name = _wcsdup(wide_name); > if (!tmp_name || AddListItem(&(*lists)[undo_type], tmp_name)) > { > free(tmp_name); >
Acked-By: Arne Schwabe <a...@rfc2549.org> I can accept the change in this function since it is windows specific but overall I don't think we can reasonable move away from POSIX function names and instead use the names with _ in front of it because that is currently Windows specific. I am not sure what the idea for a portable code is other than to set the _CRT_NONSTDC_NO_DEPRECATE option on Windows. Arne _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel