我們有一個kext來檢查一個路徑是否是另一個路徑的子目錄,如果是的話,它會做一些魔術。在Mac上比較特殊字符的路徑UTF-8
這一切都在我們的道路上工作得很好,只要我們沒有特殊字符(如ë
字符)
我們通過可與KEXT溝通輔助應用程序喂一些工作路徑到系統中。
我已經分離出的問題,這個代碼:
#include <stdio.h>
#include <string.h>
int main()
{
char* path = "/Users/user/test/tëst/test"; //Sent by the system
char* wp = "/Users/user/test/tëst"; //Some path we claim to be ours
size_t wp_len = strlen(wp);
if (strncmp (wp,path,wp_len) == 0) //Check is path is a subpath
{
printf ("matched %s\n", path);
}else {
printf ("could not match\n");
}
return 0;
}
我創建了一個依據,所以編碼不失去與瀏覽器GO:https://gist.github.com/fvandepitte/ec28f4321a48061808d0095853af7bd7
有人知道如何我可以檢查如果path
是wp
的子路徑而不會損失太多性能(此代碼在內核中運行)?
https://developer.apple.com/library/content/qa/qa1173/_index.html –