Skip to content

Commit 1935248

Browse files
committed
Merge branch 'v8-c' of https://github.com/UNO-SOFT/mq-golang into UNO-SOFT-v8-c
2 parents da0625a + 652bee9 commit 1935248

File tree

2 files changed

+28
-11
lines changed

2 files changed

+28
-11
lines changed

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module github.com/ibm-messaging/mq-golang

ibmmq/mqiMQCNO.go

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,31 @@ package ibmmq
2626
#include <cmqc.h>
2727
#include <cmqxc.h>
2828
29+
void freeCCDTUrl(MQCNO *mqcno) {
30+
#if defined(MQCNO_VERSION_6) && MQCNO_CURRENT_VERSION >= MQCNO_VERSION_6
31+
if (mqcno->CCDTUrlPtr != NULL) {
32+
free(mqcno->CCDTUrlPtr);
33+
}
34+
#endif
35+
}
36+
37+
void setCCDTUrl(MQCNO *mqcno, PMQCHAR url, MQLONG length) {
38+
#if defined(MQCNO_VERSION_6) && MQCNO_CURRENT_VERSION >= MQCNO_VERSION_6
39+
mqcno->Version = MQCNO_VERSION_6;
40+
mqcno->CCDTUrlOffset = 0;
41+
mqcno->CCDTUrlPtr = NULL;
42+
mqcno->CCDTUrlLength = length;
43+
if (url != NULL) {
44+
mqcno->CCDTUrlPtr = url;
45+
}
46+
#else
47+
mqcno->Version = MQCNO_CURRENT_VERSION;
48+
if (url != NULL) {
49+
free(url);
50+
}
51+
#endif
52+
}
53+
2954
*/
3055
import "C"
3156
import "unsafe"
@@ -152,14 +177,7 @@ func copyCNOtoC(mqcno *C.MQCNO, gocno *MQCNO) {
152177
mqcno.SecurityParmsPtr = nil
153178
}
154179

155-
mqcno.CCDTUrlOffset = 0
156-
if len(gocno.CCDTUrl) != 0 {
157-
mqcno.CCDTUrlPtr = C.PMQCHAR(unsafe.Pointer(C.CString(gocno.CCDTUrl)))
158-
mqcno.CCDTUrlLength = C.MQLONG(len(gocno.CCDTUrl))
159-
} else {
160-
mqcno.CCDTUrlPtr = nil
161-
mqcno.CCDTUrlLength = 0
162-
}
180+
C.setCCDTUrl(mqcno, C.PMQCHAR(C.CString(gocno.CCDTUrl)), C.MQLONG(len(gocno.CCDTUrl)))
163181
return
164182
}
165183

@@ -187,8 +205,6 @@ func copyCNOfromC(mqcno *C.MQCNO, gocno *MQCNO) {
187205
C.free(unsafe.Pointer(mqcno.SSLConfigPtr))
188206
}
189207

190-
if mqcno.CCDTUrlPtr != nil {
191-
C.free(unsafe.Pointer(mqcno.CCDTUrlPtr))
192-
}
208+
C.freeCCDTUrl(mqcno)
193209
return
194210
}

0 commit comments

Comments
 (0)