mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 04:58:05 +02:00
util/os_misc: use ndk api __system_property_get
__system_property_get is available since api level 3. There was a glitch back in Android L, but the complete official supported was added back to NDK immediately after the removal, and was patched into the same api level 21. So it's safe to say this api is available all the time. Our helper does not have a default prop value, so __system_property_get is a better fit. Reviewed-by: Dhruv Mark Collins <mark@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41222>
This commit is contained in:
parent
11399b15e0
commit
d147817599
1 changed files with 10 additions and 10 deletions
|
|
@ -57,7 +57,7 @@
|
|||
# define LOG_TAG "MESA"
|
||||
# include <unistd.h>
|
||||
# include <log/log.h>
|
||||
# include <cutils/properties.h>
|
||||
# include <sys/system_properties.h>
|
||||
#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_MANAGARM
|
||||
# include <unistd.h>
|
||||
#elif DETECT_OS_OPENBSD || DETECT_OS_FREEBSD
|
||||
|
|
@ -147,8 +147,8 @@ os_log_message(const char *message)
|
|||
* all property names.
|
||||
*/
|
||||
#if ANDROID_API_LEVEL >= 26
|
||||
#undef PROPERTY_KEY_MAX
|
||||
#define PROPERTY_KEY_MAX 128
|
||||
#undef PROP_NAME_MAX
|
||||
#define PROP_NAME_MAX 128
|
||||
#endif /* ANDROID_API_LEVEL >= 26 */
|
||||
|
||||
/**
|
||||
|
|
@ -174,9 +174,9 @@ os_log_message(const char *message)
|
|||
static char *
|
||||
os_get_android_option(const char *name)
|
||||
{
|
||||
static thread_local char os_android_option_value[PROPERTY_VALUE_MAX];
|
||||
char key[PROPERTY_KEY_MAX];
|
||||
char *p = key, *end = key + PROPERTY_KEY_MAX;
|
||||
static thread_local char os_android_option_value[PROP_VALUE_MAX];
|
||||
char key[PROP_NAME_MAX];
|
||||
char *p = key, *end = key + PROP_NAME_MAX;
|
||||
/* add "mesa." prefix if necessary: */
|
||||
if (strstr(name, "MESA_") != name)
|
||||
p += strlcpy(p, "mesa.", end - p);
|
||||
|
|
@ -191,12 +191,12 @@ os_get_android_option(const char *name)
|
|||
|
||||
/* prefixes to search sorted by preference */
|
||||
const char *prefices[] = { "debug.", "vendor.", "" };
|
||||
char full_key[PROPERTY_KEY_MAX];
|
||||
char full_key[PROP_NAME_MAX];
|
||||
int len = 0;
|
||||
for (int i = 0; i < ARRAY_SIZE(prefices); i++) {
|
||||
strlcpy(full_key, prefices[i], PROPERTY_KEY_MAX);
|
||||
strlcat(full_key, key, PROPERTY_KEY_MAX);
|
||||
len = property_get(full_key, os_android_option_value, NULL);
|
||||
strlcpy(full_key, prefices[i], PROP_NAME_MAX);
|
||||
strlcat(full_key, key, PROP_NAME_MAX);
|
||||
len = __system_property_get(full_key, os_android_option_value);
|
||||
if (len > 0)
|
||||
return os_android_option_value;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue