From da8c752870483a6a3f5cfd62a290659602e44d0a Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Tue, 1 Jun 2010 19:39:13 +0400 Subject: [PATCH] Normalize symlinks in fsnotifier --- native/fsNotifier/linux/fsnotifier | Bin 23638 -> 22529 bytes native/fsNotifier/linux/fsnotifier64 | Bin 26146 -> 28917 bytes native/fsNotifier/linux/inotify.c | 4 +++- native/fsNotifier/linux/make.sh | 3 +++ 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/native/fsNotifier/linux/fsnotifier b/native/fsNotifier/linux/fsnotifier index 3d84ba68c1c23eb8f61adcb4d846f1f2d9f1d699..9290ab239af577c4d72f723b0bf171205b55ecf0 100755 GIT binary patch delta 7822 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 o+!}24|7TjcXvrgmh0{v!Dw?EnA( delta 8737 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 diff --git a/native/fsNotifier/linux/fsnotifier64 b/native/fsNotifier/linux/fsnotifier64 index 1c959e2ddfb8b2fa26bc195709dfd10f947b0216..3a573dd7a1830018ce482924f11e4d681962e654 100755 GIT binary patch literal 28917 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 literal 26146 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 diff --git a/native/fsNotifier/linux/inotify.c b/native/fsNotifier/linux/inotify.c index b3306e5c64ed..411a6def1733 100644 --- a/native/fsNotifier/linux/inotify.c +++ b/native/fsNotifier/linux/inotify.c @@ -284,7 +284,9 @@ static int walk_tree(const char* path, watch_node* parent, array* ignores) { int watch(const char* root, array* ignores) { - return walk_tree(root, NULL, ignores); + char buf[PATH_MAX]; + const char* normalized = realpath(root, buf); + return walk_tree((normalized != NULL ? normalized : root), NULL, ignores); } diff --git a/native/fsNotifier/linux/make.sh b/native/fsNotifier/linux/make.sh index e2741da2778d..f2ec112fc406 100755 --- a/native/fsNotifier/linux/make.sh +++ b/native/fsNotifier/linux/make.sh @@ -1,2 +1,5 @@ +#!/bin/sh +echo "compiling 32-bit version" gcc -O2 -m32 -Wall -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -o fsnotifier main.c inotify.c util.c +echo "compiling 64-bit version" gcc -O2 -m64 -Wall -std=c99 -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -o fsnotifier64 main.c inotify.c util.c