summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Cerqueira <cyanogenmod@cerqueira.org>2013-10-18 16:26:06 +0100
committerSteve Kondik <shade@chemlab.org>2015-11-07 13:29:33 -0800
commit0643a2a77e3489c02f6d50bf23760c1826c2042a (patch)
treebb4848c5ffea14f760df1fd8348e7cac1108fd07
parent814f05c9d72ccb52d9a9759b6320224c475303bf (diff)
downloadandroid_hardware_ril-0643a2a77e3489c02f6d50bf23760c1826c2042a.tar.gz
android_hardware_ril-0643a2a77e3489c02f6d50bf23760c1826c2042a.tar.bz2
android_hardware_ril-0643a2a77e3489c02f6d50bf23760c1826c2042a.zip
rild: Weaken some symbols
rild: Weaken the RIL_setRilSocketName symbol custom libril implementations won't have it, but its lack isn't fatal outside of multi-SIM Change-Id: If8312078921bb4ed756dcd86e17e85847638c155 rild: Unbreak multi-SIM socket name Change-Id: Icae742c42c45726105d1a9e07a26bc4d10cc82bf Weaken external rild symbol. Not all libril will have this Change-Id: I3da165f5cf779a02c7eb168d6e3c9b398d284835
-rw-r--r--rild/rild.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/rild/rild.c b/rild/rild.c
index c63da38..efc7c9d 100644
--- a/rild/rild.c
+++ b/rild/rild.c
@@ -48,7 +48,7 @@ static void usage(const char *argv0) {
exit(EXIT_FAILURE);
}
-extern char rild[MAX_SOCKET_NAME_LENGTH];
+extern char rild[MAX_SOCKET_NAME_LENGTH] __attribute__((weak));
extern void RIL_register (const RIL_RadioFunctions *callbacks);
@@ -71,6 +71,7 @@ extern void RIL_onUnsolicitedResponse(int unsolResponse, const void *data,
extern void RIL_requestTimedCallback (RIL_TimedCallback callback,
void *param, const struct timeval *relativeTime);
+extern void RIL_setRilSocketName(char * s) __attribute__((weak));
static struct RIL_Env s_rilEnv = {
RIL_onRequestComplete,
@@ -177,7 +178,11 @@ int main(int argc, char **argv) {
exit(0);
}
if (strncmp(clientId, "0", MAX_CLIENT_ID_LENGTH)) {
- RIL_setRilSocketName(strncat(rild, clientId, MAX_SOCKET_NAME_LENGTH));
+ if (RIL_setRilSocketName) {
+ RIL_setRilSocketName(strncat(rild, clientId, MAX_SOCKET_NAME_LENGTH));
+ } else {
+ RLOGE("Trying to instantiate multiple rild sockets without a compatible libril!");
+ }
}
if (rilLibPath == NULL) {