@@ -1071,13 +1071,12 @@ func GetCellRichText(idx int, sheet, cell *C.char) C.struct_GetCellRichTextResul
1071
1071
return C.struct_GetCellRichTextResult {Err : C .CString (err .Error ())}
1072
1072
}
1073
1073
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 )]
1075
1074
for i , r := range runs {
1076
1075
cVal , err := goValueToC (reflect .ValueOf (r ), reflect .ValueOf (& C.struct_RichTextRun {}))
1077
1076
if err != nil {
1078
1077
return C.struct_GetCellRichTextResult {Err : C .CString (err .Error ())}
1079
1078
}
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 )
1081
1080
}
1082
1081
return C.struct_GetCellRichTextResult {RunsLen : C .int (len (runs )), Runs : (* C .struct_RichTextRun )(cArray ), Err : C .CString (emptyString )}
1083
1082
}
@@ -1332,13 +1331,12 @@ func GetTables(idx int, sheet *C.char) C.struct_GetTablesResult {
1332
1331
return C.struct_GetTablesResult {Err : C .CString (err .Error ())}
1333
1332
}
1334
1333
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 )]
1336
1334
for i , t := range tables {
1337
1335
cVal , err := goValueToC (reflect .ValueOf (t ), reflect .ValueOf (& C.struct_Table {}))
1338
1336
if err != nil {
1339
1337
return C.struct_GetTablesResult {Err : C .CString (err .Error ())}
1340
1338
}
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 )
1342
1340
}
1343
1341
return C.struct_GetTablesResult {TablesLen : C .int (len (tables )), Tables : (* C .struct_Table )(cArray ), Err : C .CString (emptyString )}
1344
1342
}
@@ -1915,9 +1913,8 @@ func SearchSheet(idx int, sheet, value *C.char, reg bool) C.struct_StringArrayEr
1915
1913
return C.struct_StringArrayErrorResult {Err : C .CString (err .Error ())}
1916
1914
}
1917
1915
cArray := C .malloc (C .size_t (len (result )) * C .size_t (unsafe .Sizeof (uintptr (0 ))))
1918
- cArrayPtr := (* [1 << 30 ]* C.char )(cArray )
1919
1916
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 ) )
1921
1918
}
1922
1919
return C.struct_StringArrayErrorResult {ArrLen : C .int (len (result )), Arr : (* * C .char )(cArray ), Err : C .CString (emptyString )}
1923
1920
}
0 commit comments