Implement FUSE .ftruncate. - susmb - mounting of SMB/CIFS shares via FUSE
 (HTM) git clone git://git.codemadness.org/susmb
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit a31e37f5b54869feccc5e2337d240a942221afe4
 (DIR) parent c5e4d004aa80f05e98f0e8af1a77849696f76b0c
 (HTM) Author: Geoff Johnstone <qwerty@acm.org>
       Date:   Fri, 10 Apr 2009 19:20:13 +0100
       
       Implement FUSE .ftruncate.
       
       Diffstat:
         M usmb.c                              |       4 ++--
         M usmb_file.h                         |       3 ++-
       
       2 files changed, 4 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/usmb.c b/usmb.c
       @@ -129,7 +129,7 @@ static void usmb_destroy (void *unused UNUSED)
        // readlink mknod symlink flush fsync
        
        // no easy way of implementing these:
       -// access ftruncate
       +// access
        
        #ifdef __lint
        #define SET_ELEMENT(name,value) value
       @@ -170,7 +170,7 @@ static struct fuse_operations fuse_ops = {
          SET_ELEMENT (.destroy, usmb_destroy),
          SET_ELEMENT (.access, NULL),
          SET_ELEMENT (.create, usmb_create),
       -  SET_ELEMENT (.ftruncate, NULL),
       +  SET_ELEMENT (.ftruncate, usmb_ftruncate),
          SET_ELEMENT (.fgetattr, usmb_fgetattr),
          SET_ELEMENT (.lock, NULL),                   // TODO: implement
          SET_ELEMENT (.utimens, NULL),                // TODO: implement
 (DIR) diff --git a/usmb_file.h b/usmb_file.h
       @@ -37,6 +37,7 @@
          int usmb_utime (const char *filename, struct utimbuf *utb);
          int usmb_truncate (const char *filename, off_t newsize);
          int usmb_chmod (const char *filename, mode_t mode);
       -//  int usmb_chown (const char *filename, uid_t owner, uid_t group);
       +  int usmb_ftruncate (const char *path, off_t size,
       +                      struct fuse_file_info *fi);
        
        #endif