diff --git a/cmd/format.go b/cmd/format.go index 3423ff5..2899bd3 100644 --- a/cmd/format.go +++ b/cmd/format.go @@ -9,6 +9,7 @@ import ( "io" "log" "os" + "runtime/debug" "strings" "github.com/pkg/errors" @@ -160,6 +161,16 @@ func XML(bf *types.BackupFile, out io.Writer) error { return nil }, StatementFunc: func(s *signal.SqlStatement) error { + defer func() { + if r := recover(); r != nil { + log.Println("Unexpected error:", r) + log.Printf("TEMP: statement is %+v\n", s) + log.Printf("TEMP: statement is %#v\n", s) + debug.PrintStack() + os.Exit(1) + } + }() + // Only use SMS/MMS statements if strings.HasPrefix(*s.Statement, "INSERT INTO sms") { sms, err := types.NewSMSFromStatement(s) diff --git a/types/raw.go b/types/raw.go index 4f7b397..75a19b8 100644 --- a/types/raw.go +++ b/types/raw.go @@ -195,7 +195,7 @@ func ParametersToSMS(ps []*signal.SqlStatement_SqlParameter) *SQLSMS { ExpireStarted: ps[19].GetIntegerParameter(), Notified: ps[20].GetIntegerParameter(), ReadReceiptCount: ps[21].GetIntegerParameter(), - Unidentified: ps[22].GetIntegerParameter(), + //Unidentified: ps[22].GetIntegerParameter(), } return result @@ -310,13 +310,13 @@ func ParametersToMMS(ps []*signal.SqlStatement_SqlParameter) *SQLMMS { ExpireStarted: ps[39].GetIntegerParameter(), Notified: ps[40].GetIntegerParameter(), ReadReceiptCount: ps[41].GetIntegerParameter(), - QuoteID: ps[42].GetIntegerParameter(), - QuoteAuthor: ps[43].StringParamter, - QuoteBody: ps[44].StringParamter, - QuoteAttachment: ps[45].GetIntegerParameter(), - QuoteMissing: ps[46].GetIntegerParameter(), - SharedContacts: ps[47].StringParamter, - Unidentified: ps[48].GetIntegerParameter(), + //QuoteID: ps[42].GetIntegerParameter(), + //QuoteAuthor: ps[43].StringParamter, + //QuoteBody: ps[44].StringParamter, + //QuoteAttachment: ps[45].GetIntegerParameter(), + //QuoteMissing: ps[46].GetIntegerParameter(), + //SharedContacts: ps[47].StringParamter, + //Unidentified: ps[48].GetIntegerParameter(), } return result @@ -396,6 +396,6 @@ func ParametersToPart(ps []*signal.SqlStatement_SqlParameter) *SQLPart { Quote: ps[25].GetIntegerParameter(), Width: ps[26].GetIntegerParameter(), Height: ps[27].GetIntegerParameter(), - Caption: ps[28].StringParamter, + //Caption: ps[28].StringParamter, } }