4 * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
23 #define BASE_NAME_PREFIX "com.samsung."
24 #define DOT_DELIMETER '.'
26 static int is_base_name(const char *appid)
28 return strstr(appid, BASE_NAME_PREFIX) != NULL;
31 void extract_pkgname(const char *appid, char *pkgname,
32 const int pkgname_size)
34 char *delim_pos; /* delimeter position */
35 size_t pkgname_res_size;
37 if (is_base_name(appid)) {
38 strncpy(pkgname, appid, pkgname_size);
42 /* no a base name case try to dedicate pkg name */
43 delim_pos = strchr(appid, DOT_DELIMETER);
45 pkgname_res_size = abs(delim_pos - appid);
46 pkgname_res_size = pkgname_res_size > pkgname_size ?
47 pkgname_size : pkgname_res_size;
49 pkgname_res_size = pkgname_size -1;
51 strncpy(pkgname, appid, pkgname_res_size);
52 pkgname[pkgname_res_size] = '\0';