1
0
mirror of https://github.com/theoludwig/libcproject.git synced 2025-12-11 00:31:01 +01:00
Commit Graph

72 Commits

Author SHA1 Message Date
theoludwig e5190818c4 perf: mutate destination string for string_concatenate
BREAKING CHANGE: Function signature changed
2023-08-07 00:42:11 +02:00
theoludwig b922fd9cd3 fix: handle EXIT_FAILURE by printing error message with perror 2023-08-07 00:11:07 +02:00
theoludwig 72645da4b2 perf: mutate strings instead of copy when possible
BREAKING CHANGE: Most of string functions mutates the string instead of copying now.
This allows better performance when copy is not needed.
It also allows more granual control.
If copy is wanted, simply use `string_copy` before calling the function.

Impacted functions are:
`string_to_uppercase`, `string_to_lowercase`, `string_replace`,
`string_trim_start`, `string_trim_end`, `string_trim`,
`string_capitalize`, `string_reverse`
2023-08-06 23:17:07 +02:00
semantic-release-bot 01e9b71402 chore(release): 3.1.0 [skip ci] v3.1.0 2023-08-06 14:43:01 +00:00
theoludwig 5c6f4d8192 feat: improvements to filesystem_get_mimetype 2023-08-06 16:39:33 +02:00
theoludwig d604288365 docs: improve usage explanations 2023-08-06 16:12:10 +02:00
theoludwig dff2836bfc feat: add filesystem_remove 2023-08-06 12:14:13 +02:00
theoludwig ad0a460923 feat: add filesystem_exists 2023-08-06 12:06:43 +02:00
semantic-release-bot be8a63ca8a chore(release): 3.0.0 [skip ci] v3.0.0 2023-08-05 13:40:47 +00:00
theoludwig 693cab7a34 chore: only use sanitizer flags in test 2023-08-05 15:33:19 +02:00
theoludwig 3220c0e26b chore: update @since version 2023-08-05 15:03:53 +02:00
theoludwig 06b34b115b feat: support giving a custom character for string_trim, string_trim_start, string_trim_end
BREAKING CHANGE: Functions signatures changed.
If you want to preserve the same behavior, you should pass explictly the space character to trim:
Example: `string_trim(" Hello ")` => `string_trim(" Hello ", ' ')`
2023-08-05 14:19:44 +02:00
theoludwig 316dfa10e7 chore: improve Makefile to use -fsanitize=address -fsanitize=undefined gcc flags
Fixes #5
2023-08-04 19:58:41 +02:00
theoludwig 145dfcf546 fix: more memory issues thanks to -fsanitize=address flag
Work In Progress #5
2023-08-04 19:20:00 +02:00
theoludwig d345c90ba3 style: fix linting 2023-08-04 00:02:35 +02:00
theoludwig 209440588d fix: more memory issues thanks to -fsanitize=address flag
Work In Progress #5
2023-08-03 23:55:14 +02:00
theoludwig a0a1310f53 feat: add hash_map_free 2023-08-03 23:17:54 +02:00
theoludwig 8b6f06dc6e feat: add stack_free 2023-08-03 23:01:19 +02:00
theoludwig 1e475a59b1 feat: add queue_free 2023-08-03 22:57:32 +02:00
theoludwig 6a40df3ad1 feat: add linked_list_free 2023-08-03 19:48:02 +02:00
theoludwig d231a0f055 feat: add array_list_free 2023-08-03 19:42:50 +02:00
theoludwig 2796dec0c7 fix: memory issues thanks to -fsanitize=address flag
Work In Progress #5
2023-08-03 19:35:44 +02:00
theoludwig 9717cff35a feat: add terminal_print_array_list 2023-07-31 23:51:37 +02:00
theoludwig 368c07c57a fix: char* issues with memory allocation
Work In progress #5
2023-06-26 22:32:26 +02:00
semantic-release-bot d774ef6ad4 chore(release): 2.0.0 [skip ci] v2.0.0 2023-06-25 19:42:33 +00:00
theoludwig e7726b8cc7 ci: install documentation tools 2023-06-25 21:39:53 +02:00
theoludwig c168a7179d ci: check all possible Makefile paths 2023-06-25 21:37:56 +02:00
theoludwig c5a7bbf7c1 fix: set_version typings 2023-06-25 21:35:24 +02:00
theoludwig 074d9e0acb docs: fix doxygen warnings 2023-06-25 21:32:16 +02:00
theoludwig 0c93355e60 chore: remove .exe file extension to be more "linux way" 2023-06-25 20:17:28 +02:00
theoludwig 016bfeb47f perf: use SipHash 1-3 algorithm for hash_map 2023-06-25 20:09:07 +02:00
theoludwig baea00fdac feat!: remove dictionary data structure
Replaced by `hash_map`
2023-06-25 20:09:07 +02:00
theoludwig 256e9cb690 refactor: usage of hash_map instead of dictionary 2023-06-25 20:09:07 +02:00
theoludwig 4a11a096fa feat: add hash_map data structure
fixes #3
2023-06-25 20:09:07 +02:00
theoludwig 931a0b69ce chore: replace missing string_t 2023-06-25 20:09:07 +02:00
theoludwig 682997c0a5 chore: prefix all #define for includes with LIBCPROJECT 2023-06-25 20:09:07 +02:00
theoludwig 5f60abc759 chore: remove useless @return 2023-06-25 20:09:07 +02:00
theoludwig a0140a6716 feat: add types.h 2023-06-25 20:09:07 +02:00
theoludwig 1ded37b106 feat!: rename types string to string_t and byte to byte_t 2023-06-25 20:08:58 +02:00
theoludwig 8f3ee199e5 feat: add string type 2023-06-25 15:20:38 +02:00
theoludwig ce088f8ff5 feat: add byte typedef 2023-06-25 15:20:38 +02:00
theoludwig eb798a619a fix: update filesystem_read and filesystem_write signatures
BREAKING CHANGE: take a `uint8_t` for file_content instead of `char`

It makes more sense to treat files as array of "bytes", not only characters/text files.
2023-06-25 15:20:07 +02:00
theoludwig b9f573bfb2 feat: support more mimetypes for filesystem_get_mimetype 2023-06-24 21:15:55 +02:00
theoludwig b665e3629d fix: handle filesystem read and write errors 2023-06-24 21:13:00 +02:00
theoludwig d42ec38e36 ci: add gcc --version 2023-06-24 21:09:19 +02:00
theoludwig d1b93d1da0 docs: add @since to know when a structure/function was added 2023-06-24 21:06:45 +02:00
theoludwig 071b645cb4 build(deps): update doxygen-awesome-css to v2.2.1 2023-06-24 20:44:48 +02:00
theoludwig e5d07d73cd ci: set dependencies version explicitly 2023-06-24 20:39:14 +02:00
theoludwig d850f04069 perf: compile with -O3 gcc flag 2023-06-24 20:30:34 +02:00
theoludwig 20d31ba2e3 fix: update author - Théo LUDWIG 2023-06-24 20:29:30 +02:00