Просмотр исходного кода

CLI Bridge: Fix for FW API changes

Willy-JL 10 месяцев назад
Родитель
Сommit
1b021e69f3
1 измененных файлов с 8 добавлено и 4 удалено
  1. 8 4
      cli_bridge/cli_control.c

+ 8 - 4
cli_bridge/cli_control.c

@@ -84,11 +84,13 @@ void clicontrol_hijack(size_t tx_size, size_t rx_size) {
     }
 
     // Session switcharooney
-    FuriThreadStdoutWriteCallback prev_stdout = furi_thread_get_stdout_callback();
+    FuriThreadStdoutWriteCallback prev_stdout;
+    void* prev_stdout_ctx;
+    furi_thread_get_stdout_callback(&prev_stdout, &prev_stdout_ctx);
     cli_session_close(global_cli);
     restore_tx_stdout = false;
     cli_session_open(global_cli, session);
-    furi_thread_set_stdout_callback(prev_stdout, NULL);
+    furi_thread_set_stdout_callback(prev_stdout, prev_stdout_ctx);
 
     furi_record_close(RECORD_CLI);
 }
@@ -132,10 +134,12 @@ void clicontrol_unhijack(bool persist) {
     restore_tx_stdout = true; // Ready for next rx call
 
     // Session switcharooney again
-    FuriThreadStdoutWriteCallback prev_stdout = furi_thread_get_stdout_callback();
+    FuriThreadStdoutWriteCallback prev_stdout;
+    void* prev_stdout_ctx;
+    furi_thread_get_stdout_callback(&prev_stdout, &prev_stdout_ctx);
     cli_session_close(global_cli);
     cli_session_open(global_cli, &cli_vcp);
-    furi_thread_set_stdout_callback(prev_stdout, NULL);
+    furi_thread_set_stdout_callback(prev_stdout, prev_stdout_ctx);
     furi_record_close(RECORD_CLI);
 
     // Unblock waiting rx handler, restore old cli_vcp.tx_stdout