summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2022-06-19 14:54:50 -0500
committerDudemanguy <random342@airmail.cc>2022-06-19 16:21:07 -0500
commit2606d4cc516a7183c0c00aa44d1e6b211fc85041 (patch)
tree7347f45b67de7f84e966344f5745af1839a688bd
parent7e921e99390ddd4a8a0cd7cd1ce7ea22e3ff0ead (diff)
downloadmpv-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.c14
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);
}