Bug fix: support install/uninstall a package with a name containing spaces
authordk77.yun <dk77.yun@samsung.com>
Thu, 17 Sep 2015 12:03:37 +0000 (21:03 +0900)
committerdk77.yun <dk77.yun@samsung.com>
Thu, 17 Sep 2015 12:03:37 +0000 (21:03 +0900)
Change-Id: I31be9d3cb43c4225549b1e6d131f432f8e46072c
Signed-off-by: dk77.yun <dk77.yun@samsung.com>
src/command_function.c

index 0d65f2d3a5a4bdb9f35627212bc6490f89759ca7..abf8ebb2690bf98ec563b9a7b4ce8fc5d9e26997 100644 (file)
@@ -670,7 +670,7 @@ int install(int argc, char **argv) {
         return 1;
     }
 
-    const char* SHELL_INSTALL_CMD ="shell:/usr/bin/pkgcmd -i -t %s -p %s -q";
+    const char* SHELL_INSTALL_CMD ="shell:/usr/bin/pkgcmd -i -t %s -p \"%s\" -q";
     char full_cmd[PATH_MAX];
 
     if(tpk == 1) {
@@ -688,7 +688,7 @@ int install(int argc, char **argv) {
         return 1;
     }
 
-    const char* SHELL_REMOVE_CMD = "shell:rm %s";
+    const char* SHELL_REMOVE_CMD = "shell:rm \"%s\"";
     snprintf(full_cmd, sizeof full_cmd, SHELL_REMOVE_CMD, destination);
     D(COMMANDLINE_MSG_FULL_CMD, "remove", full_cmd);
     if(__sdb_command(full_cmd) < 0) {
@@ -700,7 +700,7 @@ int install(int argc, char **argv) {
 
 int uninstall(int argc, char **argv) {
     char* appid = argv[1];
-    const char* SHELL_UNINSTALL_CMD ="shell:/usr/bin/pkgcmd -u -t %s -n %s -q";
+    const char* SHELL_UNINSTALL_CMD ="shell:/usr/bin/pkgcmd -u -t %s -n \"%s\" -q";
     char full_cmd[PATH_MAX];
     int result = 0;
     int tpk = get_pkgtype_from_app_id(appid);