mega: fix unmarshal error on download - FIXME need to upstream this fix

Failed to copy: failed to open source object: open download file
    failed: json: cannot unmarshal number -18 into Go struct field
    DownloadResp.e of type uint32

See: https://forum.rclone.org/t/failed-message-what-does-it-mean/9065
This commit is contained in:
Nick Craig-Wood 2019-03-10 17:05:15 +00:00
parent 415eeca6cf
commit 6811629877
2 changed files with 9 additions and 4 deletions

View File

@ -894,6 +894,11 @@ func (m *Mega) NewDownload(src *Node) (*Download, error) {
return nil, err
}
// DownloadResp has an embedded error in it for some reason
if res[0].Err != 0 {
return nil, parseError(res[0].Err)
}
_, err = decryptAttr(key, []byte(res[0].Attr))
if err != nil {
return nil, err

View File

@ -120,10 +120,10 @@ type DownloadMsg struct {
}
type DownloadResp struct {
G string `json:"g"`
Size uint64 `json:"s"`
Attr string `json:"at"`
Err uint32 `json:"e"`
G string `json:"g"`
Size uint64 `json:"s"`
Attr string `json:"at"`
Err ErrorMsg `json:"e"`
}
type UploadMsg struct {