[Replicant] [libsamsung-ipc] [PATCH 18/26] tools: ipc-modem: get rid of in_call global variable

Denis 'GNUtoo' Carikli GNUtoo at cyberdimension.org
Mon Mar 28 20:20:32 UTC 2022


Since we now have a private struct for all the data we need, we don't
need to use global variables anymore.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo at cyberdimension.org>
---
 tools/ipc-modem.c | 39 +++++++++++++++++++--------------------
 tools/ipc-modem.h |  2 ++
 2 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/tools/ipc-modem.c b/tools/ipc-modem.c
index efc6bfc..ff0862b 100644
--- a/tools/ipc-modem.c
+++ b/tools/ipc-modem.c
@@ -45,7 +45,6 @@ enum log_target log_target;
 
 int state = MODEM_STATE_LPM;
 int seq;
-int in_call;
 int out_call;
 int call_done;
 
@@ -265,60 +264,60 @@ void modem_response_sms(struct ipc_client *client, struct ipc_message *resp)
 	}
 }
 
-void modem_response_call(struct ipc_client *client, struct ipc_message *resp)
+void modem_response_call(struct ipc_modem_data *data, struct ipc_message *resp)
 {
 	struct ipc_call_status_data *stat;
 
 	switch (resp->command) {
 	case IPC_CALL_LIST:
 		/*
-		 * if (in_call)
-		 * modem_exec_call_answer(client);
+		 * if (data->in_call)
+		 * modem_exec_call_answer(data->client);
 		 * if (out_call)
-		 * modem_snd_no_mic_mute(client);
+		 * modem_snd_no_mic_mute(data->client);
 		 */
 		break;
 	case IPC_CALL_INCOMING:
-		ipc_modem_log(client,
+		ipc_modem_log(data->client,
 			      MODEM_LOG_INFO, "Got an incoming call!\n");
-		in_call = 1;
-		modem_get_call_list(client);
+		data->in_call = 1;
+		modem_get_call_list(data->client);
 		break;
 	case IPC_CALL_STATUS:
 		stat = (struct ipc_call_status_data *)resp->data;
 
 		if (stat->status == IPC_CALL_STATUS_DIALING) {
 			ipc_modem_log(
-				client,
+				data->client,
 				MODEM_LOG_INFO,
 				"Sending clock ctrl and restore alsa\n");
-			modem_snd_clock_ctrl(client);
+			modem_snd_clock_ctrl(data->client);
 			/*
 			 * system("alsa_ctl -f /data/alsa_state_modem restore");
 			 */
 
-			ipc_modem_log(client,
+			ipc_modem_log(data->client,
 				      MODEM_LOG_INFO,
 				      "CALL STATUS DIALING!!!\n");
 
-			modem_snd_spkr_volume_ctrl(client);
-			modem_snd_audio_path_ctrl(client);
+			modem_snd_spkr_volume_ctrl(data->client);
+			modem_snd_audio_path_ctrl(data->client);
 
-			modem_get_call_list(client);
+			modem_get_call_list(data->client);
 		}
 
 		if (stat->status == IPC_CALL_STATUS_CONNECTED) {
-			ipc_modem_log(client,
+			ipc_modem_log(data->client,
 				      MODEM_LOG_INFO,
 				      "CALL STATUS CONNECTED!!!\n");
-			modem_snd_no_mic_mute(client);
+			modem_snd_no_mic_mute(data->client);
 		}
 
 		if (stat->status == IPC_CALL_STATUS_RELEASED) {
-			ipc_modem_log(client,
+			ipc_modem_log(data->client,
 				      MODEM_LOG_INFO,
 				      "CALL STATUS RELEASED!!!\n");
-			modem_snd_no_mic_mute(client);
+			modem_snd_no_mic_mute(data->client);
 		}
 		break;
 	}
@@ -411,10 +410,10 @@ void modem_response_handle(struct ipc_modem_data *data,
 		modem_response_sms(data->client, resp);
 		break;
 	case IPC_GROUP_CALL:
-		modem_response_call(data->client, resp);
+		modem_response_call(data, resp);
 		break;
 	case IPC_GROUP_DISP:
-		if (in_call)
+		if (data->in_call)
 			modem_snd_no_mic_mute(data->client);
 		break;
 	}
diff --git a/tools/ipc-modem.h b/tools/ipc-modem.h
index dc8855f..2a4849d 100644
--- a/tools/ipc-modem.h
+++ b/tools/ipc-modem.h
@@ -49,6 +49,8 @@ struct ipc_modem_data {
 	enum command command;
 	bool debug;
 	bool dry_run;
+	/* State */
+	bool in_call;
 };
 
 void ipc_modem_log(struct ipc_client *client,
-- 
2.35.1



More information about the Replicant mailing list