Refactor package module into C #6

Open
GreekStapler wants to merge 25 commits from GreekStapler/libvieter:package into dev

25 Commits (dev)

Author SHA1 Message Date
Jef Roosens 1f9bd26ae5 refactor: move dynarray into own module
ci/woodpecker/pr/lint Pipeline is pending Details
ci/woodpecker/pr/test-mem Pipeline is pending Details
ci/woodpecker/pr/test Pipeline is pending Details
2023-03-09 22:35:03 +00:00
GreekStapler 19c5515c5e fix: Plug memory leaks and fix strings that were not null terminated. 2023-03-09 22:35:03 +00:00
GreekStapler 96d07dfb54 fix: Initialised variable to keep CI from breaking (again). 2023-03-09 22:35:03 +00:00
GreekStapler ea852f9102 refactor: Package extension now depends on what compression method was detected. 2023-03-09 22:35:03 +00:00
GreekStapler df83bf9fb3 fix: Initialise variables to keep CI from breaking. 2023-03-09 22:35:03 +00:00
Jef Roosens e253e039c3 chore(package): ran fmt 2023-03-09 22:35:03 +00:00
Jef Roosens 46e7e093d9 refactor: separate directory for thirdparty code 2023-03-09 22:35:03 +00:00
GreekStapler b6d97df1bc refactor: Hashing function now streams data into hasher instead of doing it in one go. 2023-03-09 22:35:03 +00:00
GreekStapler 4c9b429eaa refactor: Package archive parser now returns meaningful error enums in case of failure. 2023-03-09 22:35:03 +00:00
GreekStapler c7c4043108 fix: Using snprintf while ignoring its return value could lead to valid inputs getting truncated. 2023-03-09 22:35:03 +00:00
GreekStapler 9211bc3351 fix: Initialise array pointers to 0 before performing check on them. 2023-03-09 22:35:03 +00:00
GreekStapler bcae64e023 chore: Also renamed structs to follow naming conventions. 2023-03-09 22:35:03 +00:00
GreekStapler 03bae82569 refactor: Added free function for package struct.
While going through with the renaming, I saw that I actually forgot to implement that part.
2023-03-09 22:35:03 +00:00
GreekStapler 76e4adae92 chore: Package module now follows the naming and structure conventions of libvieter. 2023-03-09 22:35:03 +00:00
GreekStapler 1ccd4101af refactor: Subsituted old hash generation with a proper implementation. 2023-03-09 22:35:03 +00:00
GreekStapler bbdc2fbd6e fix: strcat can not be used on uninitialised strings in non-musl environments. 2023-03-09 22:35:03 +00:00
Jef Roosens d11a9d3638 chore: fix merge marker in makefile 2023-03-09 22:35:03 +00:00
GreekStapler d0914adbb5 fix: Somehow, test file changed line endings to CRLF. Changed it back to LF. 2023-03-09 22:35:03 +00:00
GreekStapler fbbc15cf73 chore: Rebase to dev branch with binomial heap PR. 2023-03-09 22:35:03 +00:00
GreekStapler 660e711b17 refactor: Added SHA256 to package description file. 2023-03-09 22:35:03 +00:00
GreekStapler 7561a74793 refactor: Decided to not return char** in function that creates the package description after all, now returns char*.
The method I was trying started to irk me when I thought of creating a test unit for it. Also fixed some other issues I found in the package_to_description function (SHA256SUM section still missing).
2023-03-09 22:35:03 +00:00
GreekStapler 01688fd546 fix: Took a very long time finding a very annyoing bug because realloc is the devil. 2023-03-09 22:35:03 +00:00
GreekStapler edca243331 refactor: Created function that will return the char ** (originally char *) that will be used to make the description file. Also removed free that was resulting in a crash. 2023-03-09 22:35:03 +00:00
GreekStapler 4309ad8cc5 refactor: Modified .PKGINFO parser not to rely on gotos and continues. Parser is now optimistic and assumes .PKGINFO file is valid.
After my changes to the macros, they still feel a bit hacky, but I'm content with them. I also changed the parser to assume the .PKGINFO files are always valid because they are automatically generated. The parser also assumes the same fields will always appear in the same fixed order. I made this change after checking how makepkg generated this file.
2023-03-09 22:35:03 +00:00
GreekStapler c2313fe0be refactor: Add original .c package files by Jef. 2023-03-09 22:35:03 +00:00