Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8e3427fb authored by Colin Cross's avatar Colin Cross Committed by android-build-merger
Browse files

Merge "Move android_get_control_socket out of line" am: 4b5abcdb am: 48738299

am: ea2b61c7

Change-Id: Ib406546b998d6d525829f0023a5f693c2e1dfd6c
parents a0a91241 ea2b61c7
Loading
Loading
Loading
Loading
+2 −21
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@
#define __CUTILS_SOCKETS_H
#define __CUTILS_SOCKETS_H


#include <errno.h>
#include <errno.h>
#include <limits.h>
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <string.h>
#include <string.h>
@@ -51,28 +52,8 @@ extern "C" {
 * android_get_control_socket - simple helper function to get the file
 * android_get_control_socket - simple helper function to get the file
 * descriptor of our init-managed Unix domain socket. `name' is the name of the
 * descriptor of our init-managed Unix domain socket. `name' is the name of the
 * socket, as given in init.rc. Returns -1 on error.
 * socket, as given in init.rc. Returns -1 on error.
 *
 * This is inline and not in libcutils proper because we want to use this in
 * third-party daemons with minimal modification.
 */
 */
static inline int android_get_control_socket(const char* name)
int android_get_control_socket(const char* name);
{
	char key[64];
	snprintf(key, sizeof(key), ANDROID_SOCKET_ENV_PREFIX "%s", name);

	const char* val = getenv(key);
	if (!val) {
		return -1;
	}

	errno = 0;
	int fd = strtol(val, NULL, 10);
	if (errno) {
		return -1;
	}

	return fd;
}


/*
/*
 * See also android.os.LocalSocketAddress.Namespace
 * See also android.os.LocalSocketAddress.Namespace
+21 −0
Original line number Original line Diff line number Diff line
@@ -45,3 +45,24 @@ int socket_get_local_port(cutils_socket_t sock) {
    }
    }
    return -1;
    return -1;
}
}

int android_get_control_socket(const char* name) {
    char key[64];
    snprintf(key, sizeof(key), ANDROID_SOCKET_ENV_PREFIX "%s", name);

    const char* val = getenv(key);
    if (!val) {
        return -1;
    }

    errno = 0;
    long ret = strtol(val, NULL, 10);
    if (errno) {
        return -1;
    }
    if (ret < 0 || ret > INT_MAX) {
        return -1;
    }

    return static_cast<int>(ret);
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -2,7 +2,7 @@ LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
include $(CLEAR_VARS)


LOCAL_SRC_FILES := lmkd.c
LOCAL_SRC_FILES := lmkd.c
LOCAL_SHARED_LIBRARIES := liblog libm libc libprocessgroup
LOCAL_SHARED_LIBRARIES := liblog libm libc libprocessgroup libcutils
LOCAL_CFLAGS := -Werror
LOCAL_CFLAGS := -Werror


LOCAL_MODULE := lmkd
LOCAL_MODULE := lmkd