summaryrefslogtreecommitdiffstats
path: root/cmds/installd/installd.c
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2010-10-07 16:46:10 -0700
committerKenny Root <kroot@google.com>2010-10-07 17:20:26 -0700
commit6a6b007c77e5cab7ee435506a4f65824f52028b6 (patch)
tree09daacd02a3582c26d72411e5ef0129812d0c8d6 /cmds/installd/installd.c
parentb74941e32e068ec03f90b9a53670328cd17ff4b4 (diff)
downloadframeworks_base-6a6b007c77e5cab7ee435506a4f65824f52028b6.zip
frameworks_base-6a6b007c77e5cab7ee435506a4f65824f52028b6.tar.gz
frameworks_base-6a6b007c77e5cab7ee435506a4f65824f52028b6.tar.bz2
Symlink application lib directory when on SD card
This will help legacy games that use dlopen() to directly access the /data/data/<app>/lib directory before the ApplicationInfo.nativeLibraryDir was part of the API. Change-Id: Ie9f3e7239b6334708b5d086ffafe66a507f6d9da
Diffstat (limited to 'cmds/installd/installd.c')
-rw-r--r--cmds/installd/installd.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/cmds/installd/installd.c b/cmds/installd/installd.c
index c991845..9ba6402 100644
--- a/cmds/installd/installd.c
+++ b/cmds/installd/installd.c
@@ -101,6 +101,16 @@ static int do_movefiles(char **arg, char reply[REPLY_MAX])
return movefiles();
}
+static int do_linklib(char **arg, char reply[REPLY_MAX])
+{
+ return linklib(arg[0], arg[1]);
+}
+
+static int do_unlinklib(char **arg, char reply[REPLY_MAX])
+{
+ return unlinklib(arg[0]);
+}
+
struct cmdinfo {
const char *name;
unsigned numargs;
@@ -121,6 +131,8 @@ struct cmdinfo cmds[] = {
{ "getsize", 4, do_get_size },
{ "rmuserdata", 2, do_rm_user_data },
{ "movefiles", 0, do_movefiles },
+ { "linklib", 2, do_linklib },
+ { "unlinklib", 1, do_unlinklib },
};
static int readx(int s, void *_buf, int count)