@@ -1071,13 +1071,12 @@ func GetCellRichText(idx int, sheet, cell *C.char) C.struct_GetCellRichTextResul
10711071 return C.struct_GetCellRichTextResult {Err : C .CString (err .Error ())}
10721072 }
10731073 cArray := C .malloc (C .size_t (len (runs )) * C .size_t (unsafe .Sizeof (C.struct_RichTextRun {})))
1074- cStructArray := (* [1 << 30 ]C.struct_RichTextRun )(cArray )[:len (runs ):len (runs )]
10751074 for i , r := range runs {
10761075 cVal , err := goValueToC (reflect .ValueOf (r ), reflect .ValueOf (& C.struct_RichTextRun {}))
10771076 if err != nil {
10781077 return C.struct_GetCellRichTextResult {Err : C .CString (err .Error ())}
10791078 }
1080- cStructArray [ i ] = cVal .Elem ().Interface ().(C.struct_RichTextRun )
1079+ * ( * C . struct_RichTextRun )( unsafe . Pointer ( uintptr ( unsafe . Pointer ( cArray )) + uintptr ( i ) * unsafe . Sizeof (C. struct_RichTextRun {}))) = cVal .Elem ().Interface ().(C.struct_RichTextRun )
10811080 }
10821081 return C.struct_GetCellRichTextResult {RunsLen : C .int (len (runs )), Runs : (* C .struct_RichTextRun )(cArray ), Err : C .CString (emptyString )}
10831082}
@@ -1332,13 +1331,12 @@ func GetTables(idx int, sheet *C.char) C.struct_GetTablesResult {
13321331 return C.struct_GetTablesResult {Err : C .CString (err .Error ())}
13331332 }
13341333 cArray := C .malloc (C .size_t (len (tables )) * C .size_t (unsafe .Sizeof (C.struct_Table {})))
1335- cStructArray := (* [1 << 30 ]C.struct_Table )(cArray )[:len (tables ):len (tables )]
13361334 for i , t := range tables {
13371335 cVal , err := goValueToC (reflect .ValueOf (t ), reflect .ValueOf (& C.struct_Table {}))
13381336 if err != nil {
13391337 return C.struct_GetTablesResult {Err : C .CString (err .Error ())}
13401338 }
1341- cStructArray [ i ] = cVal .Elem ().Interface ().(C.struct_Table )
1339+ * ( * C . struct_Table )( unsafe . Pointer ( uintptr ( unsafe . Pointer ( cArray )) + uintptr ( i ) * unsafe . Sizeof (C. struct_Table {}))) = cVal .Elem ().Interface ().(C.struct_Table )
13421340 }
13431341 return C.struct_GetTablesResult {TablesLen : C .int (len (tables )), Tables : (* C .struct_Table )(cArray ), Err : C .CString (emptyString )}
13441342}
@@ -1915,9 +1913,8 @@ func SearchSheet(idx int, sheet, value *C.char, reg bool) C.struct_StringArrayEr
19151913 return C.struct_StringArrayErrorResult {Err : C .CString (err .Error ())}
19161914 }
19171915 cArray := C .malloc (C .size_t (len (result )) * C .size_t (unsafe .Sizeof (uintptr (0 ))))
1918- cArrayPtr := (* [1 << 30 ]* C.char )(cArray )
19191916 for i , v := range result {
1920- cArrayPtr [ i ] = C .CString (v )
1917+ * ( * unsafe . Pointer )( unsafe . Pointer ( uintptr ( unsafe . Pointer ( cArray )) + uintptr ( i ) * unsafe . Sizeof ( uintptr ( 0 )))) = unsafe . Pointer ( C .CString (v ) )
19211918 }
19221919 return C.struct_StringArrayErrorResult {ArrLen : C .int (len (result )), Arr : (* * C .char )(cArray ), Err : C .CString (emptyString )}
19231920}
0 commit comments