Age | Commit message (Collapse) | Author |
|
* maint:
Avoid falling measurements testcases on slow machines
stdlib: string optimize special case for ASCII
stdlib: Minor unicode_util opts
|
|
|
|
Avoid unicode_util module call for ASCII strings
|
|
Exit early for Latin-1
|
|
Often the decode functions return a function_clause error, but not
always, and the errors have not been consistent between modifications
of the base64 module.
Now the errors are returned as they happen--no attempt to make them
look nice is done. The alternative, to ensure that, for example,
{badarg, Culprit} is always returned upon bad input, was deemed
pointless.
|
|
A few test cases with zeroes are added. They were not handled correctly
before.
The access of DECODE_MAP is moved into the inlined function b64d, for
symmetry.
The function b64e is also inlined. The speed-up is small, but
measurable.
Note: encode(List), decode(List) and mime_decode(List) no longer call
list_to_binary. This can break code that calls the functions with
I/O-lists as input.
|
|
Extend uri_string module (compose_query and dissect_query)
|
|
* bjorn/make_port/OTP-14704:
Avoid using the efile driver in test suites
|
|
* lukas/stdlib/maps_iterators/OTP-14012:
erts: Limit size of first iterator for hashmaps
Update primary bootstrap
Update preloaded modules
erts: Remove erts_internal:maps_to_list/2
stdlib: Make io_lib and io_lib_pretty use maps iterator
erts: Implement batching maps:iterator
erts: Implement maps path iterator
erts: Implement map iterator using a stack
stdlib: Introduce maps iterator API
Conflicts:
bootstrap/lib/stdlib/ebin/io_lib.beam
bootstrap/lib/stdlib/ebin/io_lib_pretty.beam
erts/emulator/beam/bif.tab
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
erts/preloaded/ebin/zlib.beam
|
|
|
|
This iterator implementation fetches multiple elements to
iterate over in one call to erts_internal:maps_next instead
of one at a time. This means that the memory usage will go
up for the iterator as we are buffering elements, but the
usage is still bounded.
In this implementation the max memory usage is 1000 words.
Using this approach makes the iterator as fast as using
maps:to_list, so maps:iterator/2 has been removed.
|
|
The efile driver will soon be reimplemented as a BIF.
Instead of opening a port based on efile, use hd(erlang:ports()). It
is a reasonable safe assumption that the runtime will continue to use
use at least some ports.
|
|
Refactor supervisor, and store children in a map instead of a list
OTP-14586
|
|
|
|
|
|
Implement functions for handling form-urlencoded
query strings based on the HTML5 specification.
|
|
|
|
|
|
|
|
Implement new uri_string module in stdlib
|
|
|
|
compose_query/{1,2} and dissect_query/1 removed as the implemented
specification (HTML 2.0) is old. They will be re-implemented based
on HTML5.
|
|
|
|
|
|
* maint:
stdlib: Fix a minor issue with the qlc suite
|
|
When comparing the process dictionary before and after a test, only
(a sorted list of) qlc keys are compared.
|
|
Implements the following Syntax-Based Normalizations:
- Case Normalization
- Percent-Encoding Normalization
- Path Segment Normalization
- Scheme-Based Normalization
- HTTP(S)
- Basic support for FTP, SSH, SFTP, TFTP
|
|
uri_map() updated to allow 'undefined' ports in order to align
the implementation with RFC 3986:
port = *DIGIT
An 'undefined' port is mapped to a ":" during recompose operation.
|
|
|
|
|
|
|
|
|
|
Update list of supported separators:
- escaped_amp (default): "&"
- amp: "&"
- semicolon: ";"
|
|
|
|
|
|
- transcode/2 flattens input lists in order to be able to handle
lists with percent-encoded parts that are split into muliple
list and binary segments.
- Add additional tests for transcoding mixed lists.
|
|
Previously when parsing queries the first "?" was part of the
parsed query in the result Map. This behavior has been changed
to follow the patterns used with other URI components and to
not include the special character(s) that mark the start of a
specific component.
|
|
|
|
- Add property tests using PropEr.
- Add new testcases to uri_string_SUITE.
- Improve calculation of parsed binary.
- Verify if input to parse() is UTF8 encoded.
- Update is_valid_map(): added check for path
and host.
|
|
- Improved calculation of parsed binary.
- Added tests for special corner cases.
- Fixed dialyzer warnings.
|
|
- Implemented recompose function with percent-encoding and
validation of IPv4/IPv6 addresses.
- Added test for recompose that uses a generated test
vector (URI combinations based on a fix set of URI
components).
- Added test for parse-recompose using a generated
test vector.
- Removed parsing functions for lists. Lists are converted to
binary before parsing.
|
|
|
|
|
|
|
|
* maint:
fix win32 share filename join/split (#1604)
Correct io_vec handling
|
|
Handle UNC (shared) path on win32, previously "//dir/.." and "\\\\dir\.." was cleaned up to
"/dir/.." which was not correct.
OTP-14693
|
|
OTP-13764
Implement uniform floats with decreasing distance towards 0.0
|
|
|
|
|
|
|