summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHwankyu Jhun <h.jhun@samsung.com>2016-12-06 15:02:26 +0900
committerHwanKyu Jhun <h.jhun@samsung.com>2016-12-06 00:03:01 -0800
commit41bc5758d5aca3dca8a83347ee9e3ebc4bcd1f15 (patch)
treece9081ac132f27507a0062e7483a6cd690b46fb3
parent8ecea1290bbd5f5384104d8dd794d4fac8fa111c (diff)
downloadaul-1-41bc5758d5aca3dca8a83347ee9e3ebc4bcd1f15.tar.gz
aul-1-41bc5758d5aca3dca8a83347ee9e3ebc4bcd1f15.tar.bz2
aul-1-41bc5758d5aca3dca8a83347ee9e3ebc4bcd1f15.zip
Fix bug about launch app tool
Change-Id: If34ba4c33aa1974d07daec1492abf7fd98a27684 Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
-rw-r--r--tool/launch_app.c42
1 files changed, 19 insertions, 23 deletions
diff --git a/tool/launch_app.c b/tool/launch_app.c
index d15b777a..a745a4df 100644
--- a/tool/launch_app.c
+++ b/tool/launch_app.c
@@ -21,33 +21,31 @@
#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);