diff options
| author | Eli Zaretskii | 2023-05-23 17:53:07 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2023-05-23 17:53:07 +0300 |
| commit | 765edc204d45c0eb6d31e92c661355c1bd7315a9 (patch) | |
| tree | bbdbcc1e14b2c2f92d4558b640f1f360887cab62 /src/sqlite.c | |
| parent | 5aadb87d6f6e3d9d755d4b6f6d124040c1bcfeee (diff) | |
| download | emacs-765edc204d45c0eb6d31e92c661355c1bd7315a9.tar.gz emacs-765edc204d45c0eb6d31e92c661355c1bd7315a9.zip | |
; Support SQLite3 extensions on macOS
* src/sqlite.c (Fsqlite_load_extension): Support *.dylib
extensions. (Bug#63653)
Diffstat (limited to 'src/sqlite.c')
| -rw-r--r-- | src/sqlite.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/sqlite.c b/src/sqlite.c index 852e3746ef4..fd528f2b0d5 100644 --- a/src/sqlite.c +++ b/src/sqlite.c | |||
| @@ -730,10 +730,12 @@ Only modules on Emacs' list of allowed modules can be loaded. */) | |||
| 730 | bool do_allow = false; | 730 | bool do_allow = false; |
| 731 | for (const char **allow = allowlist; *allow; allow++) | 731 | for (const char **allow = allowlist; *allow; allow++) |
| 732 | { | 732 | { |
| 733 | if (strlen (*allow) < strlen (name) | 733 | ptrdiff_t allow_len = strlen (*allow); |
| 734 | && !strncmp (*allow, name, strlen (*allow)) | 734 | if (allow_len < strlen (name) |
| 735 | && (!strcmp (name + strlen (*allow), ".so") | 735 | && !strncmp (*allow, name, allow_len) |
| 736 | || !strcasecmp (name + strlen (*allow), ".dll"))) | 736 | && (!strcmp (name + allow_len, ".so") |
| 737 | ||!strcmp (name + allow_len, ".dylib") | ||
| 738 | || !strcasecmp (name + allow_len, ".dll"))) | ||
| 737 | { | 739 | { |
| 738 | do_allow = true; | 740 | do_allow = true; |
| 739 | break; | 741 | break; |