@@ -69,6 +69,10 @@ export class CoreInterop {
6969 return null ;
7070 }
7171
72+ private _toBytes ( str : string ) : Uint8Array {
73+ return new TextEncoder ( ) . encode ( str ) ;
74+ }
75+
7276 constructor ( config : Configuration ) {
7377 const corePath = config . params [ 'FoundryLocalCorePath' ] || CoreInterop . _resolveDefaultCorePath ( config ) ;
7478
@@ -96,14 +100,15 @@ export class CoreInterop {
96100 koffi . encode ( cmdBuf , 'char' , command , command . length + 1 ) ;
97101
98102 const dataStr = params ? JSON . stringify ( params ) : '' ;
99- const dataBuf = koffi . alloc ( 'char' , dataStr . length + 1 ) ;
100- koffi . encode ( dataBuf , 'char' , dataStr , dataStr . length + 1 ) ;
103+ const dataBytes = this . _toBytes ( dataStr ) ;
104+ const dataBuf = koffi . alloc ( 'char' , dataBytes . length + 1 ) ;
105+ koffi . encode ( dataBuf , 'char' , dataStr , dataBytes . length + 1 ) ;
101106
102107 const req = {
103108 Command : koffi . address ( cmdBuf ) ,
104109 CommandLength : command . length ,
105110 Data : koffi . address ( dataBuf ) ,
106- DataLength : dataStr . length
111+ DataLength : dataBytes . length
107112 } ;
108113 const res = { Data : 0 , DataLength : 0 , Error : 0 , ErrorLength : 0 } ;
109114
@@ -129,8 +134,9 @@ export class CoreInterop {
129134 koffi . encode ( cmdBuf , 'char' , command , command . length + 1 ) ;
130135
131136 const dataStr = params ? JSON . stringify ( params ) : '' ;
132- const dataBuf = koffi . alloc ( 'char' , dataStr . length + 1 ) ;
133- koffi . encode ( dataBuf , 'char' , dataStr , dataStr . length + 1 ) ;
137+ const dataBytes = this . _toBytes ( dataStr ) ;
138+ const dataBuf = koffi . alloc ( 'char' , dataBytes . length + 1 ) ;
139+ koffi . encode ( dataBuf , 'char' , dataStr , dataBytes . length + 1 ) ;
134140
135141 const cb = koffi . register ( ( data : any , length : number , userData : any ) => {
136142 const chunk = koffi . decode ( data , 'char' , length ) ;
@@ -142,7 +148,7 @@ export class CoreInterop {
142148 Command : koffi . address ( cmdBuf ) ,
143149 CommandLength : command . length ,
144150 Data : koffi . address ( dataBuf ) ,
145- DataLength : dataStr . length
151+ DataLength : dataBytes . length
146152 } ;
147153 const res = { Data : 0 , DataLength : 0 , Error : 0 , ErrorLength : 0 } ;
148154
0 commit comments