panic_cb.go 665 B

123456789101112131415161718192021222324
  1. // Copyright 2015 Jeffrey Wilcke, Felix Lange, Gustav Simonsson. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be found in
  3. // the LICENSE file.
  4. //go:build !gofuzz && cgo
  5. // +build !gofuzz,cgo
  6. package secp256k1
  7. import "C"
  8. import "unsafe"
  9. // Callbacks for converting libsecp256k1 internal faults into
  10. // recoverable Go panics.
  11. //export secp256k1GoPanicIllegal
  12. func secp256k1GoPanicIllegal(msg *C.char, data unsafe.Pointer) {
  13. panic("illegal argument: " + C.GoString(msg))
  14. }
  15. //export secp256k1GoPanicError
  16. func secp256k1GoPanicError(msg *C.char, data unsafe.Pointer) {
  17. panic("internal error: " + C.GoString(msg))
  18. }