2727
2828static int fd = -1 ;
2929
30- static napi_value add (napi_env env, napi_callback_info info) {
30+ static napi_value resize (napi_env env, napi_callback_info info) {
31+
3132 size_t argc = 2 ;
3233 napi_value args[2 ] = {nullptr };
3334
@@ -45,10 +46,20 @@ static napi_value add(napi_env env, napi_callback_info info) {
4546 double value1;
4647 napi_get_value_double (env, args[1 ], &value1);
4748
48- napi_value sum;
49- napi_create_double (env, value0 + value1, &sum);
49+ int width = value0;
50+ int height = value1;
51+
52+ if (fd > 0 ) {
53+ struct winsize ws = {};
54+ ws.ws_col = width;
55+ ws.ws_row = height;
56+ int ret = ioctl (fd, TIOCSWINSZ, &ws);
57+ assert (ret == 0 );
58+
59+ OH_LOG_INFO (LOG_APP, " Resize: %{public}d, %{public}d" , width, height);
60+ }
5061
51- return sum ;
62+ return nullptr ;
5263}
5364
5465napi_threadsafe_function registered_callback = nullptr ;
@@ -83,6 +94,7 @@ static void *terminal_worker(void *) {
8394 }
8495 }
8596
97+ // call callback registered by ArkTS
8698 if (hex.length () > 0 && registered_callback != nullptr ) {
8799 data_buffer *pbuf = new data_buffer{.buf = new char [hex.length ()], .size = (size_t )hex.length ()};
88100 memcpy (pbuf->buf , &hex[0 ], hex.length ());
@@ -99,7 +111,7 @@ static void *terminal_worker(void *) {
99111}
100112
101113static napi_value run (napi_env env, napi_callback_info info) {
102-
114+
103115 size_t argc = 2 ;
104116 napi_value args[2 ] = {nullptr };
105117
@@ -131,6 +143,7 @@ static napi_value run(napi_env env, napi_callback_info info) {
131143 const char *home = " /storage/Users/currentUser" ;
132144 setenv (" HOME" , home, 1 );
133145 setenv (" PWD" , home, 1 );
146+ setenv (" PATH" , " /bin" , 1 );
134147
135148 chdir (home);
136149 execl (" /bin/sh" , " /bin/sh" , nullptr );
@@ -222,7 +235,7 @@ static napi_value register_callback(napi_env env, napi_callback_info info) {
222235EXTERN_C_START
223236static napi_value Init (napi_env env, napi_value exports) {
224237 napi_property_descriptor desc[] = {
225- {" add " , nullptr , add , nullptr , nullptr , nullptr , napi_default, nullptr },
238+ {" resize " , nullptr , resize , nullptr , nullptr , nullptr , napi_default, nullptr },
226239 {" run" , nullptr , run, nullptr , nullptr , nullptr , napi_default, nullptr },
227240 {" send" , nullptr , send, nullptr , nullptr , nullptr , napi_default, nullptr },
228241 {" subscribe" , nullptr , register_callback, nullptr , nullptr , nullptr , napi_default, nullptr }};
0 commit comments