1 | /* |
1 | /* |
2 | * Copyright (c) 2000 Marc Alexander Lehmann <pcg@goof.com> |
2 | * Copyright (c) 2000-2003 Marc Alexander Lehmann <pcg@goof.com> |
3 | * |
3 | * |
4 | * Redistribution and use in source and binary forms, with or without modifica- |
4 | * Redistribution and use in source and binary forms, with or without modifica- |
5 | * tion, are permitted provided that the following conditions are met: |
5 | * tion, are permitted provided that the following conditions are met: |
6 | * |
6 | * |
7 | * 1. Redistributions of source code must retain the above copyright notice, |
7 | * 1. Redistributions of source code must retain the above copyright notice, |
… | |
… | |
32 | /*********************************************************************** |
32 | /*********************************************************************** |
33 | ** |
33 | ** |
34 | ** lzf -- an extremely fast/free compression/decompression-method |
34 | ** lzf -- an extremely fast/free compression/decompression-method |
35 | ** http://liblzf.plan9.de/ |
35 | ** http://liblzf.plan9.de/ |
36 | ** |
36 | ** |
37 | ** Based on ideas by Hermann Vogt, but liblzf is a total |
|
|
38 | ** re-implementation of LZV that is not compatible to the |
|
|
39 | ** original lzv code. |
|
|
40 | ** |
|
|
41 | ** This algorithm is believed to be patent-free. |
37 | ** This algorithm is believed to be patent-free. |
42 | ** |
38 | ** |
43 | ***********************************************************************/ |
39 | ***********************************************************************/ |
44 | |
40 | |
45 | /* |
41 | /* |
… | |
… | |
68 | /* |
64 | /* |
69 | * Decompress data compressed with some version of the lzf_compress |
65 | * Decompress data compressed with some version of the lzf_compress |
70 | * function and stored at location in_data and length in_len. The result |
66 | * function and stored at location in_data and length in_len. The result |
71 | * will be stored at out_data up to a maximum of out_len characters. |
67 | * will be stored at out_data up to a maximum of out_len characters. |
72 | * |
68 | * |
73 | * If * the output buffer is not large enough to hold the decompressed |
69 | * If the output buffer is not large enough to hold the decompressed |
74 | * data, a 0 is returned and errno is set to E2BIG. Otherwise the number |
70 | * data, a 0 is returned and errno is set to E2BIG. Otherwise the number |
75 | * of decompressed bytes (i.e. the original length of the data) is |
71 | * of decompressed bytes (i.e. the original length of the data) is |
76 | * returned. |
72 | * returned. |
77 | * |
73 | * |
78 | * If an error in the compressed data is detected, a zero is returned and |
74 | * If an error in the compressed data is detected, a zero is returned and |