修复切换表情AT 2442/1 2442/head 2443/target/1
authorxue <2144439972@qq.com>
Mon, 29 Sep 2025 11:01:01 +0000 (19:01 +0800)
committerxue <2144439972@qq.com>
Mon, 29 Sep 2025 11:01:01 +0000 (19:01 +0800)
code/sdk/zhihui/leiniao/imsl_ln/leiniao_api_at.c

index 9d12e3e..bc34f3a 100644 (file)
@@ -1776,24 +1776,33 @@ static uint32_t ln_switch_expression_at(uint8_t *para, uint32_t paraLen, char *s
         return ERRCODE_FAIL;
     }
     
-    // 检查路径长度限制
-    if (strlen(video_path) > 256) {
-        printf("ERROR: Video path too long (max 256 characters)\n");
+    // 拼接完整路径:/user/userdata/leiniao/emoji + 用户输入的路径
+    char full_path[512];
+    const char *base_path = "/user/userdata/leiniao/emoji";
+    
+    // 检查总路径长度限制
+    if (strlen(base_path) + strlen(video_path) + 1 > sizeof(full_path)) {
+        printf("ERROR: Full path too long (max %zu characters)\n", sizeof(full_path) - 1);
         return ERRCODE_FAIL;
     }
     
-    printf("[LN][SWITCH_EXPRESSION] Switching to video: %s\n", video_path);
+    // 拼接完整路径
+    snprintf(full_path, sizeof(full_path), "%s%s", base_path, video_path);
+    
+    printf("[LN][SWITCH_EXPRESSION] Base path: %s\n", base_path);
+    printf("[LN][SWITCH_EXPRESSION] User input: %s\n", video_path);
+    printf("[LN][SWITCH_EXPRESSION] Full path: %s\n", full_path);
     
-    // 调用C接口切换表情视频
-    bool result = switch_expression_video(video_path);
+    // 调用C接口切换表情视频,使用拼接后的完整路径
+    bool result = switch_expression_video(full_path);
     
     if (result) {
         printf("+LN_SWITCH_EXPRESSION: OK\n");
-        printf("Expression video switched successfully: %s\n", video_path);
+        printf("Expression video switched successfully: %s\n", full_path);
         return ERRCODE_SUCC;
     } else {
         printf("+LN_SWITCH_EXPRESSION: FAIL\n");
-        printf("Failed to switch expression video: %s\n", video_path);
+        printf("Failed to switch expression video: %s\n", full_path);
         return ERRCODE_FAIL;
     }
 }