Browse Source

fix for latest api?

MX 10 months ago
parent
commit
1209d7f4ba
1 changed files with 9 additions and 4 deletions
  1. 9 4
      cli_control.c

+ 9 - 4
cli_control.c

@@ -85,11 +85,13 @@ void clicontrol_hijack(size_t tx_size, size_t rx_size) {
     }
 
     // Session switcharooney
-    FuriThreadStdoutWriteCallback prev_stdout = furi_thread_get_stdout_callback();
+    FuriThreadStdoutWriteCallback original_out_cb;
+    void* original_out_ctx;
+    furi_thread_get_stdout_callback(&original_out_cb, &original_out_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(original_out_cb, original_out_ctx);
 
     furi_record_close(RECORD_CLI);
 }
@@ -133,10 +135,13 @@ 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 = furi_thread_get_stdout_callback();
+    FuriThreadStdoutWriteCallback original_out_cb;
+    void* original_out_ctx;
+    furi_thread_get_stdout_callback(&original_out_cb, &original_out_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(original_out_cb, original_out_ctx);
     furi_record_close(RECORD_CLI);
 
     // Unblock waiting rx handler, restore old cli_vcp.tx_stdout