Fix bug about launch app tool 63/102563/2
authorHwankyu Jhun <h.jhun@samsung.com>
Tue, 6 Dec 2016 06:02:26 +0000 (15:02 +0900)
committerHwanKyu Jhun <h.jhun@samsung.com>
Tue, 6 Dec 2016 08:03:01 +0000 (00:03 -0800)
Change-Id: If34ba4c33aa1974d07daec1492abf7fd98a27684
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
tool/launch_app.c

index d15b777..a745a4d 100644 (file)
 #include <sys/types.h>
 #include <string.h>
 #include <glib.h>
-
 #include <bundle_internal.h>
-
 #include "aul.h"
 
-#define ROOT_UID 0
-
 static char **gargv;
 static int gargc;
-bundle *kb = NULL;
-
-static GMainLoop *mainloop = NULL;
+bundle *kb;
+static GMainLoop *mainloop;
 
 static bundle *create_internal_bundle(int start)
 {
-       bundle *kb;
        int i;
-       char arg[1024] = {0, };
+       int j;
+       char arg[1024];
        char *val_array[128];
 
        kb = bundle_create();
-       for (i = start; i < gargc - 1; i++) {
-               if ((i + 1) > gargc - 1)
+       if (kb == NULL)
+               return NULL;
+
+       for (i = start; i + 1 < gargc; i += 2) {
+               if ((i + 1) > gargc - 1) {
                        bundle_add(kb, gargv[i], " ");
-               else {
-                       int j = 1;
-                       strncpy(arg, gargv[i + 1], 1023);
+               else {
+                       j = 1;
+                       snprintf(arg, sizeof(arg), "%s", gargv[i + 1]);
                        val_array[0] = strtok(arg, ",");
                        while (1) {
                                val_array[j] = strtok(NULL, ",");
@@ -56,32 +54,30 @@ static bundle *create_internal_bundle(int start)
                                j++;
                        }
 
-                       if (j == 1)
+                       if (j == 1) {
                                bundle_add(kb, gargv[i], gargv[i + 1]);
-                       else if (j > 1)
+                       } else if (j > 1) {
                                bundle_add_str_array(kb, gargv[i],
                                        (const char**)val_array, j);
+                       }
                }
        }
 
        return kb;
 }
 
-int launch(void)
+static int launch(void)
 {
-       int pid = -1;
-
        kb = create_internal_bundle(2);
-       if (NULL == kb) {
+       if (kb == NULL) {
                printf("bundle creation fail\n");
                return -1;
        }
 
-       pid = aul_launch_app(gargv[1], kb);
-       return pid;
+       return aul_launch_app(gargv[1], kb);
 }
 
-void print_usage(char *progname)
+static void print_usage(char *progname)
 {
        printf("[usage] %s <pkgname> <key1> <val1> <key2> <val2> ...\n",
               progname);