- if meid != nil {
- b := make([]byte, int(C.RMR_MAX_MEID))
- copy(b, []byte(meid.PlmnID))
- copy(b[16:], []byte(meid.EnbID))
- C.rmr_bytes2meid(buf, (*C.uchar)(unsafe.Pointer(&b[0])), C.int(len(b)))
+ if params != nil {
+ if params.Meid != nil {
+ b := make([]byte, int(C.RMR_MAX_MEID))
+ copy(b, []byte(params.Meid.PlmnID))
+ copy(b[16:], []byte(params.Meid.EnbID))
+ C.rmr_bytes2meid(buf, (*C.uchar)(unsafe.Pointer(&b[0])), C.int(len(b)))
+ }
+ xidLen := len(params.Xid)
+ if xidLen > 0 && xidLen <= C.RMR_MAX_XID {
+ b := make([]byte, int(C.RMR_MAX_MEID))
+ copy(b, []byte(params.Xid))
+ C.rmr_bytes2xact(buf, (*C.uchar)(unsafe.Pointer(&b[0])), C.int(len(b)))
+ }