diff options
| author | Po Lu <luangruo@yahoo.com> | 2023-04-01 14:25:00 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2023-04-01 14:25:00 +0800 |
| commit | ca53e2bfbc8a72fd372b3aa08520375345bede59 (patch) | |
| tree | e3fe982150dd3a6ac8bede1b80f5053bd658f015 /src | |
| parent | 05f8fe3ae30675d44121563edf9f368f9ace9d9d (diff) | |
| parent | c10c545ef26ef0be00ec8526d30b8c57141a3683 (diff) | |
Merge remote-tracking branch 'origin/master' into feature/android
Diffstat (limited to 'src')
| -rw-r--r-- | src/fns.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/fns.c b/src/fns.c index 87e6748b19f..a17a22c4664 100644 --- a/src/fns.c +++ b/src/fns.c @@ -506,16 +506,18 @@ Symbols are also allowed; their print names are used instead. */) /* String data is normally allocated with word alignment, but there are exceptions (notably pure strings) so we restrict the wordwise skipping to safe architectures. */ - if (HAVE_FAST_UNALIGNED_ACCESS) +#ifdef HAVE_FAST_UNALIGNED_ACCESS { /* First compare entire machine words. */ int ws = sizeof (size_t); const char *w1 = SSDATA (string1); const char *w2 = SSDATA (string2); - while (b < nb - ws + 1 && load_unaligned_size_t (w1 + b) - == load_unaligned_size_t (w2 + b)) + while (b < nb - ws + 1 + && (load_unaligned_size_t (w1 + b) + == load_unaligned_size_t (w2 + b))) b += ws; } +#endif /* Scan forward to the differing byte. */ while (b < nb && SREF (string1, b) == SREF (string2, b)) |
