Create sub-packages for patch and diff to allow for smaller binaries.
parent
b210f39f07
commit
419ea010c2
|
@ -1,10 +1,11 @@
|
||||||
package bsdiff
|
package diff
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
|
||||||
"github.com/dsnet/compress/bzip2"
|
"github.com/dsnet/compress/bzip2"
|
||||||
|
"github.com/icedream/go-bsdiff/internal"
|
||||||
"github.com/icedream/go-bsdiff/internal/native"
|
"github.com/icedream/go-bsdiff/internal/native"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -18,7 +19,7 @@ func Diff(oldReader, newReader io.Reader, patchWriter io.Writer) (err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = writeHeader(patchWriter, uint64(len(newBytes))); err != nil {
|
if err = internal.WriteHeader(patchWriter, uint64(len(newBytes))); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package bsdiff
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
|
@ -14,7 +14,7 @@ var (
|
||||||
magicText = []byte("ENDSLEY/BSDIFF43")
|
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 {
|
if _, err = w.Write(magicText); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ func writeHeader(w io.Writer, size uint64) (err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func readHeader(r io.Reader) (size uint64, err error) {
|
func ReadHeader(r io.Reader) (size uint64, err error) {
|
||||||
magicBuf := make([]byte, len(magicText))
|
magicBuf := make([]byte, len(magicText))
|
||||||
n, err := r.Read(magicBuf)
|
n, err := r.Read(magicBuf)
|
||||||
if err != nil {
|
if err != nil {
|
|
@ -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)
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package bsdiff
|
package patch
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"compress/bzip2"
|
"compress/bzip2"
|
||||||
|
@ -6,6 +6,7 @@ import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
|
"github.com/icedream/go-bsdiff/internal"
|
||||||
"github.com/icedream/go-bsdiff/internal/native"
|
"github.com/icedream/go-bsdiff/internal/native"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -15,7 +16,7 @@ func Patch(oldReader io.Reader, newWriter io.Writer, patchReader io.Reader) (err
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
newLen, err := readHeader(patchReader)
|
newLen, err := internal.ReadHeader(patchReader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
Loading…
Reference in New Issue