| package lz4 |
| |
| import ( |
| "errors" |
| "fmt" |
| "os" |
| rdebug "runtime/debug" |
| ) |
| |
| var ( |
| // ErrInvalidSourceShortBuffer is returned by UncompressBlock or CompressBLock when a compressed |
| // block is corrupted or the destination buffer is not large enough for the uncompressed data. |
| ErrInvalidSourceShortBuffer = errors.New("lz4: invalid source or destination buffer too short") |
| // ErrInvalid is returned when reading an invalid LZ4 archive. |
| ErrInvalid = errors.New("lz4: bad magic number") |
| // ErrBlockDependency is returned when attempting to decompress an archive created with block dependency. |
| ErrBlockDependency = errors.New("lz4: block dependency not supported") |
| // ErrUnsupportedSeek is returned when attempting to Seek any way but forward from the current position. |
| ErrUnsupportedSeek = errors.New("lz4: can only seek forward from io.SeekCurrent") |
| ) |
| |
| func recoverBlock(e *error) { |
| if r := recover(); r != nil && *e == nil { |
| if debugFlag { |
| fmt.Fprintln(os.Stderr, r) |
| rdebug.PrintStack() |
| } |
| *e = ErrInvalidSourceShortBuffer |
| } |
| } |