Create sub-packages for patch and diff to allow for smaller binaries.

master
Icedream 2017-02-22 14:01:25 +01:00
parent b210f39f07
commit 419ea010c2
Signed by: icedream
GPG Key ID: 1573F6D8EFE4D0CF
4 changed files with 25 additions and 7 deletions

View File

@ -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
} }

View File

@ -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 {

16
main.go Normal file
View File

@ -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)
}

View File

@ -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
} }