diff --git a/diff.go b/diff/diff.go similarity index 79% rename from diff.go rename to diff/diff.go index 5e1de99..1ed4cda 100644 --- a/diff.go +++ b/diff/diff.go @@ -1,10 +1,11 @@ -package bsdiff +package diff import ( "io" "io/ioutil" "github.com/dsnet/compress/bzip2" + "github.com/icedream/go-bsdiff/internal" "github.com/icedream/go-bsdiff/internal/native" ) @@ -18,7 +19,7 @@ func Diff(oldReader, newReader io.Reader, patchWriter io.Writer) (err error) { return } - if err = writeHeader(patchWriter, uint64(len(newBytes))); err != nil { + if err = internal.WriteHeader(patchWriter, uint64(len(newBytes))); err != nil { return } diff --git a/magic.go b/internal/magic.go similarity index 79% rename from magic.go rename to internal/magic.go index b64530e..21766eb 100644 --- a/magic.go +++ b/internal/magic.go @@ -1,4 +1,4 @@ -package bsdiff +package internal import ( "encoding/binary" @@ -14,7 +14,7 @@ var ( magicText = []byte("ENDSLEY/BSDIFF43") ) -func writeHeader(w io.Writer, size uint64) (err error) { +func WriteHeader(w io.Writer, size uint64) (err error) { if _, err = w.Write(magicText); err != nil { return } @@ -22,7 +22,7 @@ func writeHeader(w io.Writer, size uint64) (err error) { return } -func readHeader(r io.Reader) (size uint64, err error) { +func ReadHeader(r io.Reader) (size uint64, err error) { magicBuf := make([]byte, len(magicText)) n, err := r.Read(magicBuf) if err != nil { diff --git a/main.go b/main.go new file mode 100644 index 0000000..2d0e7f3 --- /dev/null +++ b/main.go @@ -0,0 +1,16 @@ +package bsdiff + +import ( + "io" + + "github.com/icedream/go-bsdiff/diff" + "github.com/icedream/go-bsdiff/patch" +) + +func Diff(oldReader, newReader io.Reader, patchWriter io.Writer) (err error) { + return diff.Diff(oldReader, newReader, patchWriter) +} + +func Patch(oldReader io.Reader, newWriter io.Writer, patchReader io.Reader) (err error) { + return patch.Patch(oldReader, newWriter, patchReader) +} diff --git a/patch.go b/patch/patch.go similarity index 83% rename from patch.go rename to patch/patch.go index f2a0dde..d3ff8f4 100644 --- a/patch.go +++ b/patch/patch.go @@ -1,4 +1,4 @@ -package bsdiff +package patch import ( "compress/bzip2" @@ -6,6 +6,7 @@ import ( "io/ioutil" "log" + "github.com/icedream/go-bsdiff/internal" "github.com/icedream/go-bsdiff/internal/native" ) @@ -15,7 +16,7 @@ func Patch(oldReader io.Reader, newWriter io.Writer, patchReader io.Reader) (err return } - newLen, err := readHeader(patchReader) + newLen, err := internal.ReadHeader(patchReader) if err != nil { return }