Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* liblzma$ gcc a.c lzma.c
- * liblzma$ ./a.out
- * ret = 50
- * a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaa <END>
- * ret = 65
- * a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa
- * <END>
- */
- #include <stdio.h>
- unsigned long ulzman(
- const unsigned char *src, unsigned long srcn,
- unsigned char *dst, unsigned long dstn);
- static char src[] = {
- 0x5D, 0x00, 0x00, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0x00, 0x30, 0x88, 0x08, 0x30, 0x85, 0x21, 0x75, 0xBB, 0x0D, 0x04, 0x26, 0xB0,
- 0x4E, 0x7D, 0xE3, 0xB0, 0x1B, 0xDA, 0x8F, 0xEB, 0x93, 0xFF, 0xFF, 0xE8, 0x66,
- 0x80, 0x00,
- };
- static void f(int dstn) {
- char dst[100] = {};
- int ret = ulzman(src, sizeof(src), dst, dstn);
- printf("ret = %d\n%s <END>\n", ret, dst);
- }
- int main(void) {
- f(50);
- f(100);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement