Commit Graph

142 Commits (master)

Author SHA1 Message Date
Daniel Kolesa cbc75ce97c fix 4-byte utf-8 encode 2018-01-08 00:27:55 +01:00
Daniel Kolesa 4a2e5cd557 completely unify encode funcs 2018-01-07 18:44:12 +01:00
Daniel Kolesa 24d1b5ec25 various traits and constants for unicode types 2018-01-07 17:13:53 +01:00
Daniel Kolesa 640a9714f0 universal templated encode, iter for all types 2018-01-07 02:17:05 +01:00
Daniel Kolesa 4343bb408d implement compare/case_compare for all slice types 2018-01-07 01:15:17 +01:00
Daniel Kolesa e3362e6c9e allow encoding of noncharacters 2018-01-06 01:03:43 +01:00
Daniel Kolesa fa5ae71202 perform validity check when decoding utf-32 into itself 2018-01-06 00:52:50 +01:00
Daniel Kolesa ed82fa0233 unified length handling for all encodings 2018-01-06 00:42:14 +01:00
Daniel Kolesa aeb5023b30 relax the rules of zero-argument utf::length 2018-01-06 00:27:04 +01:00
Daniel Kolesa 51d7a62bee eliminate -Wweak-vtables warnings 2018-01-05 22:48:38 +01:00
Daniel Kolesa 200919d96f add funcs to deal with decoding/encoding of wchar_t values/sequences 2018-01-05 19:26:30 +01:00
Daniel Kolesa be25d42660 refactor unicode impl 2018-01-05 18:55:34 +01:00
Daniel Kolesa d74736d8f4 add utf-16 decoding/encoding support 2018-01-05 02:18:36 +01:00
Daniel Kolesa 723c06c612 various warning fixes with -Weverything 2018-01-03 17:13:38 +01:00
Daniel Kolesa fd4b26046c noexcept the ctype funcs 2018-01-03 02:12:23 +01:00
Daniel Kolesa ad149ff0f6 unicode-aware case-insensitive string compares 2018-01-03 01:22:07 +01:00
Daniel Kolesa 2949b2de0c add fallbacks for when string_utf.hh doesn't exist yet 2018-01-03 00:37:31 +01:00
Daniel Kolesa af635dc77a unicode fixes/cleanups 2018-01-02 23:28:37 +01:00
Daniel Kolesa a0337c401e implement all the unicode ctype funcs, generate the tables 2018-01-02 22:23:18 +01:00
Daniel Kolesa 8e6852572c reject surrogate code points in decoding 2018-01-01 02:36:39 +01:00
Daniel Kolesa 0857edfef4 add a function to encode utf-32 to utf-8 2018-01-01 01:02:49 +01:00
Daniel Kolesa c4f67b08b9 rename codepoint to decode 2017-12-31 20:06:36 +01:00
Daniel Kolesa b350eced7e move utf::length wrappper to header 2017-12-31 19:18:08 +01:00
Daniel Kolesa d3cdbe2fcf expose unicode stuff through string slices 2017-12-31 19:12:51 +01:00
Daniel Kolesa b2ee5c1bd0 add iter_codes to iterate a UTF-8 string by code points 2017-12-31 14:50:48 +01:00
Daniel Kolesa d6a13d8f97 expose multibyte-to-codepoint conversion 2017-12-31 03:26:15 +01:00
Daniel Kolesa 3c75d7db98 add some initial code for upcoming unicode support 2017-12-31 03:01:25 +01:00
Daniel Kolesa f7929a1b45 ditch char_traits in string stuff 2017-12-15 23:32:06 +01:00
Daniel Kolesa 3034918496 move glob matching impl into a source file 2017-06-16 18:55:08 +02:00
Daniel Kolesa 50692c3e29 remove the temp_cstr stuff 2017-06-02 18:33:56 +02:00
Daniel Kolesa f8508c112c don't need the condition anymore 2017-05-28 16:32:09 +02:00
Daniel Kolesa f605ea59bf gotta read partial read though 2017-05-28 16:31:26 +02:00
Daniel Kolesa 8dad7ac73a pipe read failure means subprocess exited with non-zero 2017-05-28 16:30:07 +02:00
Daniel Kolesa 07ea93ba68 potentially reduce more copies in win32 process code 2017-05-13 19:52:19 +02:00
Daniel Kolesa 45c8450209 envvar support in subprocess 2017-05-13 18:36:40 +02:00
Daniel Kolesa 2fc506d1bb fewer temporary allocations in subprocess 2017-05-13 17:02:39 +02:00
Daniel Kolesa 628cede1eb minor cleanup 2017-05-13 00:53:51 +02:00
Daniel Kolesa b5624dc6b9 terminate child processes on parent process exit on windows 2017-05-13 00:43:32 +02:00
Daniel Kolesa 06687881c1 implement subprocess detach and validity checks 2017-05-13 00:00:44 +02:00
Daniel Kolesa 5bbee30f6c simplify windows process code 2017-05-12 23:47:25 +02:00
Daniel Kolesa 884e8c2849 support for non-posix non-windows platforms in io (useful at all? dunno) 2017-05-12 00:08:37 +02:00
Daniel Kolesa 0925ff3350 clean up platform checks 2017-05-12 00:05:18 +02:00
Daniel Kolesa 005485f6a6 rename to subprocess_stream/error 2017-05-11 23:57:04 +02:00
Daniel Kolesa 10caf39244 split win32 and posix code of context_stack and process into separate files 2017-05-10 00:30:23 +02:00
Daniel Kolesa 2bab256b4d more windows fixes 2017-05-09 22:37:00 +02:00
Daniel Kolesa 5f12c8f0b9 use_path fix 2017-05-09 22:21:58 +02:00
Daniel Kolesa 60ebc1d5b8 do not attempt parsing if string is empty 2017-05-09 22:09:20 +02:00
Daniel Kolesa 5c6aab9290 properly handle null termination in unicode conversions 2017-05-09 21:47:33 +02:00
Daniel Kolesa 9d4a8cfa83 windows fixes 2017-05-09 21:20:37 +02:00
Daniel Kolesa 9c876166b2 cleanup 2017-05-09 20:40:52 +02:00
Daniel Kolesa af951a243c use strings for subprocess errors 2017-05-09 20:33:45 +02:00
Daniel Kolesa d5fe5dc292 use GetEnvironmentVariableW 2017-05-09 19:03:54 +02:00
Daniel Kolesa 4f9007ac57 untested windows code for subprocess handling 2017-05-09 18:59:56 +02:00
Daniel Kolesa 29ba5f22d3 cleanup 2017-05-08 20:40:18 +02:00
Daniel Kolesa 045a280c56 only initialize the data late 2017-05-08 20:38:46 +02:00
Daniel Kolesa 5d16d8fd87 move_data/swap_data is platform independent 2017-05-08 20:36:59 +02:00
Daniel Kolesa ea7f4062b7 hide platform-specific data from subprocess 2017-05-08 20:32:36 +02:00
Daniel Kolesa 31c3602839 fdopen fix 2017-05-08 20:00:51 +02:00
Daniel Kolesa 8319674705 file descriptor close fix 2017-05-08 19:56:29 +02:00
Daniel Kolesa 4966830d33 rename process_info to subprocess 2017-05-08 18:42:30 +02:00
Daniel Kolesa 4022897195 make sure process exec never leaks file descriptors 2017-05-08 17:10:09 +02:00
Daniel Kolesa 6079676ac9 handle failed fdopen 2017-05-08 04:16:47 +02:00
Daniel Kolesa ce1b94624a rename process_pipe 2017-05-08 04:13:07 +02:00
Daniel Kolesa 1ecf921f1a initial impl of process calling api (posix only atm) 2017-05-08 03:51:45 +02:00
Daniel Kolesa 44d370183c custom close func support for filestreams 2017-05-08 01:07:32 +02:00
Daniel Kolesa de7225c8f6 incorporate process.cc into build 2017-05-07 22:48:02 +02:00
Daniel Kolesa f01992c952 add command line splitting api (posix, windows) and use it from build 2017-05-07 21:17:13 +02:00
Daniel Kolesa 94814dc61e remove internal/win32.hh and put environ stuff into a source file 2017-05-02 00:15:01 +02:00
Daniel Kolesa 1525edf3d7 type/include cleanup 2017-04-09 16:44:45 +02:00
Daniel Kolesa 62676f4222 rename octastd to libostd 2017-04-06 20:14:52 +02:00
Daniel Kolesa 9f35909660 fixes in streams 2017-04-04 01:06:55 +02:00
Daniel Kolesa c96d64e5ba remove the scheduler iface nonsense (just make a virtual base) 2017-03-24 15:18:41 +01:00
Daniel Kolesa 023af03361 spawn/make_channel/yield without explicitly specifying scheduler 2017-03-23 11:35:23 +01:00
Daniel Kolesa 18cfe5119f track current task for coroutine scheduler separately 2017-03-22 18:23:29 +01:00
Daniel Kolesa 2537d955d1 fixes, bigger stack for main task, take spawn funcs by value 2017-03-22 17:32:58 +01:00
Daniel Kolesa 0d815e3610 default 64 KiB stack on all systems 2017-03-20 00:51:16 +01:00
Daniel Kolesa 0da22e777d add a way to retrieve the current coroutine context 2017-03-17 03:04:15 +01:00
Daniel Kolesa b86df5c016 move over to standard filesystem module (from std::experimental or std) 2017-03-10 18:31:34 +01:00
Daniel Kolesa 82233ec61e more windows fixes 2017-03-10 04:11:36 +01:00
Daniel Kolesa 52da0ab7ae windows fixes 2017-03-10 03:05:05 +01:00
Daniel Kolesa afd086b2a0 move some more bits into impl files 2017-03-09 19:21:01 +01:00
Daniel Kolesa 5fafcdf954 move the stack alloc impl bits into a source file 2017-03-09 01:00:47 +01:00
Daniel Kolesa ce2a8ed758 initial import of context switching assembly from boost.context 2017-03-05 15:30:41 +01:00
Daniel Kolesa 41ad273c32 std allowed by default 2017-01-14 15:09:27 +01:00
Daniel Kolesa b66c684add add trailing newlines 2016-02-07 21:19:20 +00:00
Daniel Kolesa 1c4f04757d mv the octa directory too 2015-07-13 20:10:29 +01:00
Daniel Kolesa 8ddbccc94f namespace octa -> namespace ostd 2015-07-13 20:07:14 +01:00
Daniel Kolesa ba41989429 fixed include 2015-06-28 16:00:09 +01:00
Daniel Kolesa 36c264b4b0 make .cc the extension for source files and .hh the extension for header files 2015-06-28 15:39:04 +01:00
Daniel Kolesa ea42a5e841 use new type aliases + refactoring + namespacing 2015-06-08 21:20:12 +01:00
Daniel Kolesa 97fd88be62 octa::swap 2015-04-18 00:07:37 +01:00
Daniel Kolesa dba2ac673f split new implementations 2015-04-15 01:39:26 +01:00