about summary refs log tree commit diff stats
path: root/lib/quickjs/cutils.h
Commit message (Collapse)AuthorAgeFilesLines
* Improve Date.parse, small fixesCharlie Gordon2024-04-141-0/+6
| | | | | | | | - add `minimum_length` to enforce array length validation - add `JS_NewDate()` API - add `[Symbol.toStringTag]` property in the global object - simplify `string_get_milliseconds` - support more timezone abbrevs using `string_get_tzabbr` and array
* Prevent UB on memcpy and floating point conversionsCharlie Gordon2024-03-131-0/+7
| | | | | | | - add `memcpy_no_ub` that accepts null pointers for 0 count - prevent 0 length allocation in `js_worker_postMessage` - use safer test for `int` value in `JS_NewFloat64`, `JS_ToArrayLengthFree` and `js_typed_array_indexOf`
* Improve surrogate handling readabilityCharlie Gordon2024-03-021-1/+38
| | | | | | | | | - add inline function to test and convert surrogates is_surrogate(c), is_hi_surrogate(c), is_lo_surrogate(c), get_hi_surrogate(c), get_lo_surrogate(c), from_surrogate(hi, lo) - use names for BC header offsets and lengths in libregexp.c - remove strict aliasing violations in `lre_exec_backtrack()` - pass all context variables to XXX_CHAR macros in `lre_exec_backtrack()`
* Fix big endian serializationCharlie Gordon2024-03-021-3/+0
| | | | | | | | | | | | | | | | Big endian serialization was broken because: - it partially relied on `WORDS_ENDIAN` (unconditionally undef'd in cutils.h) - endianness was not handled at all in the bc reader. Modifications: - remove `WORDS_ENDIAN` - use `bc_put_u32()` / `bc_put_u64()` in `JS_WriteBigInt()` - use `bc_get_u32()` / `bc_get_u64()` in `JS_ReadBigInt()` - handle host endianness in `bc_get_u16()`, `bc_get_u32()`, `bc_get_u64()` and `JS_ReadFunctionBytecode()` - handle optional littleEndian argument as specified in `js_dataview_getValue()` and `js_dataview_setValue()`
* Strip trailing spacesCharlie Gordon2024-03-021-8/+8
|
* added container_of macroFabrice Bellard2023-12-221-0/+3
|
* Include QuickJS sources in the repositorybptato2023-06-221-0/+297
Taken from txiki.js, so it includes zamofex's top-level await patch.