}
//获取vote正在执行的状态
-errcode_t get_vote_status(char*str)
-{
- uint8_t i = 0;
- uint8_t falg = 0;
- pm_veto_t *pm_veto_ptr = pm_veto_get_info();
- for (i = 0; i < PM_ID_MAX; i++) {
- if (pm_veto_ptr->veto_counts.sub_counts[i] == 1) {
- sprintf(str, "%s %s", str, get_pm_id_name(i));
- falg = 1;
- }
- }
- if (falg==0) {
- str = "没有正在进行的服务";
- }
- PRINT("***************get_vote_status***************\n %s\n", str);
- return ERRCODE_SUCC;
-}
+// 获取 vote 正在执行的状态
+errcode_t get_vote_status(char* str, size_t str_size) {
+ uint8_t i;
+ uint8_t flag = 0;
+ pm_veto_t* pm_veto_ptr = pm_veto_get_info();
+
+ PRINT("***************get_vote_status***************\n");
+
+ // 初始化字符串为空
+ str[0] = '\0';
+
+ for (i = 0; i < PM_ID_MAX; i++) {
+ if (pm_veto_ptr->veto_counts.sub_counts[i] == 1) {
+ // 拼接当前 pm ID 并添加换行符
+ snprintf(str + strlen(str), str_size - strlen(str), "%s%s\n", (flag ? " " : ""), get_pm_id_name(i));
+ flag = 1;
+ PRINT("vote_status: %s %d\n", get_pm_id_name(i), pm_veto_ptr->veto_counts.sub_counts[i]);
+ } else {
+ PRINT("vote_status: %s %d\n", get_pm_id_name(i), pm_veto_ptr->veto_counts.sub_counts[i]);
+ }
+ }
+
+ if (flag == 0) {
+ snprintf(str, str_size, "没有正在进行的服务");
+ }
+
+ PRINT("***************get_vote_status*************** %s\n", str);
+ return ERRCODE_SUCC;
+}
/*系统声音设置*/
void uapi_systemVolumeSet(int32_t sounding)