mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-04-30 19:09:18 +08:00
Fix deprecated usage of strtok
The latest Android NDK marks strtok as deprecated and suggests using strtok_r instead. Bug: 477295731 Change-Id: I2b20a2ae0a9e19ec93e31669ec380802e6902090 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7739107 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Wan-Teh Chang <wtc@google.com> Reviewed-by: Frank Barchard <fbarchard@chromium.org>
This commit is contained in:
parent
1170363ce5
commit
7903a6c632
@ -53,6 +53,11 @@ extern "C" {
|
||||
#define SAFEBUFFERS
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
// MSVC provides strtok_s which is functionally equivalent to strtok_r.
|
||||
#define strtok_r strtok_s
|
||||
#endif
|
||||
|
||||
// cpu_info_ variable for SIMD instruction sets detected.
|
||||
LIBYUV_API int cpu_info_ = 0;
|
||||
|
||||
@ -330,16 +335,17 @@ LIBYUV_API SAFEBUFFERS int RiscvCpuCaps(const char* cpuinfo_name) {
|
||||
// supervisor-level extensions.
|
||||
extensions = strpbrk(isa, "zxs");
|
||||
if (extensions) {
|
||||
extensions_len = strlen(extensions);
|
||||
// Multi-letter extensions are seperated by a single underscore
|
||||
// as described in RISC-V User-Level ISA V2.2.
|
||||
char* ext = strtok(extensions, "_");
|
||||
extensions_len = strlen(extensions);
|
||||
char* saveptr = NULL;
|
||||
char* ext = strtok_r(extensions, "_", &saveptr);
|
||||
while (ext) {
|
||||
// Search for the ZVFH (Vector FP16) extension.
|
||||
if (!strcmp(ext, "zvfh")) {
|
||||
flag |= kCpuHasRVVZVFH;
|
||||
}
|
||||
ext = strtok(NULL, "_");
|
||||
ext = strtok_r(NULL, "_", &saveptr);
|
||||
}
|
||||
}
|
||||
std_isa_len = isa_len - extensions_len - 5;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user