Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
For a little bit I thought this library might be a subtle joke, seeing the #define _SHITPRESS_H at the start. That combined with the compress() and decompress() not taking any arguments and not having a return value, I thought we were being played. Not to mention the library appears to be plain C rather than C++… surely the author should know the difference?
Then I saw how the interface actually works:
// interface for the library user, implement these in your program:unsignedintSPR_in(); // Return next byte from input or value > 255 on EOF.voidSPR_out(unsignedchar); // Output byte.
This seems extremely poorly thought out. Calling into global functions for input and output means that your library will be a pain to use in any program that has to (de)compress anything more than a single input.
For a little bit I thought this library might be a subtle joke, seeing the
#define _SHITPRESS_H
at the start. That combined with thecompress()
anddecompress()
not taking any arguments and not having a return value, I thought we were being played. Not to mention the library appears to be plain C rather than C++… surely the author should know the difference?Then I saw how the interface actually works:
// interface for the library user, implement these in your program: unsigned int SPR_in(); // Return next byte from input or value > 255 on EOF. void SPR_out(unsigned char); // Output byte.
This seems extremely poorly thought out. Calling into global functions for input and output means that your library will be a pain to use in any program that has to (de)compress anything more than a single input.