@@ -547,6 +547,10 @@ def toObj(self):
547
547
obj [k ] = v
548
548
return dic2obj (obj )
549
549
550
+ class _INFO (_CSTRUCT ):
551
+ _fields_ = [("s_js" , ctypes .c_char_p ),
552
+ ("s_js_size" , ctypes .c_uint )]
553
+
550
554
class _TICKER (_CSTRUCT ):
551
555
_fields_ = [("Time" , ctypes .c_ulonglong ),
552
556
("Symbol" , ctypes .c_char * 31 ),
@@ -558,9 +562,7 @@ class _TICKER(_CSTRUCT):
558
562
("Last" , ctypes .c_double ),
559
563
("Volume" , ctypes .c_double ),
560
564
("OpenInterest" , ctypes .c_double ),
561
- ("data" , ctypes .c_char_p ),
562
- ("data_size" , ctypes .c_uint ),
563
- ]
565
+ ("Info" , _INFO )]
564
566
565
567
class _FUNDING (_CSTRUCT ):
566
568
_fields_ = [("Time" , ctypes .c_ulonglong ),
@@ -748,7 +750,7 @@ def GetData(self, name, timeout=60000, offset=0):
748
750
r = _TICKER ()
749
751
ret = self .lib .api_Exchange_GetData (self .ctx , self .idx , ctypes .byref (r ), safe_str (name ), int (timeout ), int (offset ))
750
752
if ret == API_ERR_SUCCESS :
751
- return dic2obj ({'Time' : r .Time , 'Data' : json .loads (r .data [:r .data_size ]) if r .data_size > 0 else None })
753
+ return dic2obj ({'Time' : r .Time , 'Data' : json .loads (r .Info . s_js [:r .Info . s_js_size ]) if r .Info . s_js_size > 0 else None })
752
754
elif ret == API_ERR_FAILED :
753
755
return None
754
756
EOF ()
0 commit comments