From 7a1d9eb8e5c067d3e7935c8ca3aaf0535ed90661 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 25 Jan 2009 19:02:23 +0100 Subject: Make sure that st_blksize is greater than 0 --- inotail.c | 3 ++- inotail.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/inotail.c b/inotail.c index 441db98..53101a8 100644 --- a/inotail.c +++ b/inotail.c @@ -565,7 +565,8 @@ static int tail_file(struct file_struct *f, unsigned long n_units, mode_t mode, } f->size = finfo.st_size; - f->blksize = finfo.st_blksize; /* TODO: Can this value be 0? */ + if (likely(finfo.st_blksize > 0)) + f->blksize = finfo.st_blksize; if (mode == M_LINES) offset = lines_to_offset(f, n_units); diff --git a/inotail.h b/inotail.h index c733943..d483e02 100644 --- a/inotail.h +++ b/inotail.h @@ -38,8 +38,10 @@ struct file_struct { #define is_digit(c) ((c) >= '0' && (c) <= '9') #ifdef __GNUC__ +# define likely(x) __builtin_expect(!!(x), 1) # define unlikely(x) __builtin_expect(!!(x), 0) #else +# define likely(x) (x) # define unlikely(x) (x) #endif /* __GNUC__ */ -- cgit v1.2.3-54-g00ecf