パスが別のパスのサブディレクトリであるかどうかを調べる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;
}
私は要旨を作成しましたので、エンコーディングは、ブラウザで失わいかない:https://gist.github.com/fvandepitte/ec28f4321a48061808d0095853af7bd7
誰かが私がチェックすることができる方法を知っていますpath
のサブパスがwp
の場合、パフォーマンスはあまり低下しません(このコードはカーネルで実行されます)。
https://developer.apple.com/library/content/qa/qa1173/_index.html –