Compare commits

..

No commits in common. "3788d044e66c87492e0eec178011e92ccee20abc" and "29070c8f41c354e032e763a2eb01079ce221fb69" have entirely different histories.

2 changed files with 28 additions and 35 deletions

View file

@ -1,30 +1,29 @@
# Cytoplasm Change Log # Cytoplasm Change Log
This document contains the complete change log for every official release of This document contains the complete change log for every official release of
Cytoplasm. It is intended to be updated with every commit that makes a user-facing Cytoplasm. It is intended to be updated with every commit that makes a user-facing
change worth reporting in the change log. As such, it changes frequently between change worth reporting in the change log. As such, it changes frequently between
releases. Final change log entries are published as [Releases](releases). releases. Final change log entries are published as [Releases](releases).
## v0.4.1 ## v0.4.1
### New Features ### New Features
- Added an option to `j2s` to allow additional fields in structures and ignore them in - Added an option to `j2s` to allow additional fields in structures and ignore them in
encoding and decoding. Note that additional fields are totally untouched—they encoding and decoding. Note that additional fields are totally untouched—they
are not even initialized to a default value. are not even initialized to a default value.
- Fixed a memory leak that would occur in code generated by `j2s` under - Fixed a memory leak that would occur in code generated by `j2s` under
specific circumstances. specific circumstances.
- Added `JsonMerge()` to the JSON API to merge two JSON objects together. - Added `JsonMerge()` to the JSON API to merge two JSON objects together.
- Make `HttpRouter` decode path parts before matching them on regular expressions.
## v0.4.0
## v0.4.0
**Released on November 1, 2023**
**Released on November 1, 2023**
This is the first independent release of Cytoplasm! Last month, Cytoplasm was
This is the first independent release of Cytoplasm! Last month, Cytoplasm was split off of [Telodendria](/Telodendria/Telodendria) to become its own independent
split off of [Telodendria](/Telodendria/Telodendria) to become its own independent project with its own independent releases. This allows it to develop at a much more
project with its own independent releases. This allows it to develop at a much more rapid pace than Telodendria.
rapid pace than Telodendria.
Changes in future releases will be reported here. Since this is the first release,
Changes in future releases will be reported here. Since this is the first release,
there are no changes to show. there are no changes to show.

View file

@ -23,7 +23,6 @@
*/ */
#include <HttpRouter.h> #include <HttpRouter.h>
#include <Http.h>
#include <Memory.h> #include <Memory.h>
#include <HashMap.h> #include <HashMap.h>
#include <Str.h> #include <Str.h>
@ -229,8 +228,6 @@ HttpRouterRoute(HttpRouter * router, char *path, void *args, void **ret)
regmatch_t pmatch[REG_MAX_SUB]; regmatch_t pmatch[REG_MAX_SUB];
pathPart = HttpUrlDecode(pathPart);
i = 0; i = 0;
while (HashMapIterateReentrant(node->children, &key, (void **) &val, &i)) while (HashMapIterateReentrant(node->children, &key, (void **) &val, &i))
@ -246,7 +243,6 @@ HttpRouterRoute(HttpRouter * router, char *path, void *args, void **ret)
if (!val) if (!val)
{ {
exec = NULL; exec = NULL;
Free(pathPart);
break; break;
} }
@ -267,14 +263,12 @@ HttpRouterRoute(HttpRouter * router, char *path, void *args, void **ret)
substr = StrSubstr(pathPart, cpmatch.rm_so, cpmatch.rm_eo); substr = StrSubstr(pathPart, cpmatch.rm_so, cpmatch.rm_eo);
if (pmatch[i].rm_so == -1) if (pmatch[i].rm_so == -1)
{ {
Free(pathPart);
break; break;
} }
ArrayAdd(matches, substr); ArrayAdd(matches, substr);
} }
} }
Free(pathPart);
} }
Free(path); Free(path);
} }