diff options
author | Dudemanguy <random342@airmail.cc> | 2022-06-19 14:54:50 -0500 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2022-06-19 16:21:07 -0500 |
commit | 2606d4cc516a7183c0c00aa44d1e6b211fc85041 (patch) | |
tree | 7347f45b67de7f84e966344f5745af1839a688bd | |
parent | 7e921e99390ddd4a8a0cd7cd1ce7ea22e3ff0ead (diff) | |
download | mpv-2606d4cc516a7183c0c00aa44d1e6b211fc85041.tar.bz2 mpv-2606d4cc516a7183c0c00aa44d1e6b211fc85041.tar.xz |
x11: replace strcasestr usage with bstr
strcasestr is a GNU extension, but we can just use bstr instead to do
the same thing.
-rw-r--r-- | video/out/x11_common.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/video/out/x11_common.c b/video/out/x11_common.c index 57e1fe6236..e3479ea00c 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -416,12 +416,14 @@ static void xrandr_read(struct vo_x11_state *x11) XRRProviderResources *pr = XRRGetProviderResources(x11->display, x11->rootwin); for (int i = 0; i < pr->nproviders; i++) { XRRProviderInfo *info = XRRGetProviderInfo(x11->display, r, pr->providers[i]); - char *amd = strcasestr(info->name, "amd"); - char *intel = strcasestr(info->name, "intel"); - char *nvidia = strcasestr(info->name, "nvidia"); - char *radeon = strcasestr(info->name, "radeon"); - x11->has_mesa = (amd || intel || radeon) ? true : false; - x11->has_nvidia = nvidia ? true : false; + struct bstr provider_name = bstrdup(x11, bstr0(info->name)); + bstr_lower(provider_name); + int amd = bstr_find0(provider_name, "amd"); + int intel = bstr_find0(provider_name, "intel"); + int nvidia = bstr_find0(provider_name, "nvidia"); + int radeon = bstr_find0(provider_name, "radeon"); + x11->has_mesa = amd >= 0 || intel >= 0 || radeon >= 0; + x11->has_nvidia = nvidia >= 0; } XRRFreeProviderResources(pr); } |