Исправление на null-terminated строку () для передачи в C-функцию

This commit is contained in:
Alexander Zhirov 2025-09-21 00:52:18 +03:00
parent 7799808287
commit bc10ae70f4
Signed by: alexander
GPG key ID: C8D8BE544A27C511

View file

@ -1,6 +1,6 @@
module wildmatch; module wildmatch;
import std.string : fromStringz; import std.string : fromStringz, toStringz;
import std.conv : to; import std.conv : to;
extern(C): extern(C):
@ -29,6 +29,8 @@ alias WM_FILE_NAME = WM_PATHNAME;
*/ */
private int wildmatch(const(char)* pattern, const(char)* str, int flags); private int wildmatch(const(char)* pattern, const(char)* str, int flags);
bool dwildmatch(string pattern, string str, int flags = WM_PATHNAME) { bool dwildmatch(const string pattern, const string str, int flags = WM_PATHNAME) {
return wildmatch(pattern.ptr, str.ptr, flags) == WM_MATCH; auto patternZ = pattern.toStringz();
auto strZ = str.toStringz();
return wildmatch(patternZ, strZ, flags) == WM_MATCH;
} }