file: Support unicode urls on windows

Closes https://github.com/curl/curl/pull/6501
This commit is contained in:
Stephan Szabo 2021-01-20 10:08:49 -08:00 committed by Jay Satiro
parent d4a3b87c13
commit 1269c80af1
6 changed files with 82 additions and 1 deletions

View file

@ -406,6 +406,7 @@ Features testable here are:
- `TLS-SRP`
- `TrackMemory`
- `typecheck`
- `Unicode`
- `unittest`
- `unix-sockets`
- `verbose-strings`

View file

@ -201,7 +201,7 @@ test1630 test1631 test1632 test1633 test1634 \
test1650 test1651 test1652 test1653 test1654 test1655 \
test1660 \
\
test1700 test1701 test1702 \
test1700 test1701 test1702 test1703 \
\
test1800 test1801 \
\

45
tests/data/test1703 Normal file
View file

@ -0,0 +1,45 @@
<testcase>
<info>
<keywords>
FILE
</keywords>
</info>
<reply>
<data>
foo
bar
bar
foo
moo
</data>
</reply>
# Client-side
<client>
<server>
file
</server>
<features>
Unicode
win32
</features>
<name>
basic file:// file with UTF-8 characters
</name>
<command option="no-include">
file://localhost%FILE_PWD/log/%E3%83%86%E3%82%B9%E3%83%881703.txt
</command>
<file name="log/テスト1703.txt">
foo
bar
bar
foo
moo
</file>
</client>
# Verify data after the test has been "shot"
<verify>
</verify>
</testcase>

View file

@ -268,6 +268,7 @@ my $has_manual; # set if built with built-in manual
my $has_win32; # set if built for Windows
my $has_mingw; # set if built with MinGW (as opposed to MinGW-w64)
my $has_hyper = 0; # set if built with Hyper
my $has_unicode; # set if libcurl is built with Unicode support
# this version is decided by the particular nghttp2 library that is being used
my $h2cver = "h2c";
@ -2826,6 +2827,7 @@ sub setupfeatures {
$feature{"threaded-resolver"} = $has_threadedres;
$feature{"TLS-SRP"} = $has_tls_srp;
$feature{"TrackMemory"} = $has_memory_tracking;
$feature{"Unicode"} = $has_unicode;
$feature{"unittest"} = $debug_build;
$feature{"unix-sockets"} = $has_unix;
$feature{"win32"} = $has_win32;
@ -3093,6 +3095,9 @@ sub checksystem {
# 'https-proxy' is used as "server" so consider it a protocol
push @protocols, 'https-proxy';
}
if($feat =~ /Unicode/i) {
$has_unicode = 1;
}
}
#
# Test harness currently uses a non-stunnel server in order to