Please sign in to access this page

Vexillum

Vexillum

11 devlogs
24h 55m
•  Ship certified

A c library for handling flags passed to a program

Timeline

Ship 1

0 payouts of shell 0 shells

Hannes Leonhartsberger

15 days ago

Hannes Leonhartsberger Covers 11 devlogs and 24h 55m

THE FINAL DEVLOG IS HERE! I have finally completed this library after all this time. I can't wait to start the next project. I fixed a lot of bugs, made the errors from parsing stack so usage isn't spammed and finally finished the flag parsing (turned out to not be that hard in the end). But my brain is getting fried from switching languages so much. I actually typed 'let' into a c file to create a variable XD.

Update attachment

Finally finished the demo. I added some much needed pizzazz in the form of the purple blue pipes and I made a decently working recreation of the argument and flag parsing. Now I only need to actually finish the project. ♪(´▽`)

Update attachment

This is the demo website so far. I used skeleton (if you are interested: http://getskeleton.com/) as a framework and got in the basic elements in place. Next I'll add the functionality and I need to somehow add some flair to the site as it is currently monochrome.

Update attachment

The flag handler is almost ready to go, but in the meanwhile I got distracted with making the demo and designing a banner for the project. The website still needs a lot of work but I am pretty happy with the banner.

Update attachment

I have finished up all other bits of the library (including restructuring the files, adding a usage hint, removing function name overlapping through prefixes, ...) so only the main source file and the flag handler need working on.
When I'm finished with those I get to move onto my favorite part of projects... the testing. Yay o(TヘTo)

Update attachment

I did a big coding session this time.
I reworked the entire error system. I moved the system to its own file and made it accessible in the main header. I still don't know what to do when function names overlap so I had to get creative with the names so it still doesn't feel great. The error system will now also in the future print out a helpful usage message for the user with the most important information.
I also finished up the argument system which was smaller than expected.
Anyways, I'm excited to get started on the most important bit, the flag system. <(^-^)>

Update attachment

Added a small error handler which gives you back the name of the error in form of a string. I also implemented a singly linked string list to store the arguments and flag identifiers. It was really fun to rediscover how to make a linked list! (but also painful as pointers are hard (/▽\) )

Update attachment

Defined the public interface of the library. The functions as seen in the attached image should be quite self explanatory.
Now onto implementation! o(°▽°)o

Update attachment

I updated the test system so it now supports multiple tests. I also realized that if I switched to a static library for testing I don't need to tell windows how to find the shared library.
That should hopefully finish up the CMake portion of this project. ( ̄︶ ̄*))

Update attachment

Finally figured out how libraries work. I correctly linked the library and the header file to the test executable but I didn't tell windows where to look for the dll.
The fix was to simply put the executable of the tester into the same directory as the built library.

Update attachment

I implemented the basic scaffolding on which I will build the library using CMake.

I still have problems with linking the library to the tests as I am very new to CMake but I'm going to work on that.

Update attachment