[Pkg-owncloud-commits] [owncloud-client] 21/332: CSync: Simplify csync_owncloud stat/resource handling

Sandro Knauß hefee-guest at moszumanska.debian.org
Thu Aug 14 21:06:33 UTC 2014


This is an automated email from the git hooks/post-receive script.

hefee-guest pushed a commit to branch master
in repository owncloud-client.

commit 5ee00a8df72dc7d9896e5030b26ce12e2efcd4bd
Author: Markus Goetz <markus at woboq.com>
Date:   Wed May 28 11:36:07 2014 +0200

    CSync: Simplify csync_owncloud stat/resource handling
---
 csync/src/csync_owncloud.c                    | 100 ++++++++------------------
 csync/src/csync_owncloud.h                    |   4 +-
 csync/src/csync_owncloud_recursive_propfind.c |  29 +-------
 csync/src/csync_owncloud_util.c               |  52 ++++++++++----
 csync/src/csync_update.c                      |   4 +-
 csync/src/csync_util.c                        |  53 --------------
 csync/src/csync_util.h                        |   3 -
 csync/src/vio/csync_vio_file_stat.c           |  16 +----
 csync/src/vio/csync_vio_file_stat.h           |  29 ++------
 csync/src/vio/csync_vio_local.c               |  11 ---
 src/mirall/syncengine.cpp                     |   1 -
 11 files changed, 80 insertions(+), 222 deletions(-)

diff --git a/csync/src/csync_owncloud.c b/csync/src/csync_owncloud.c
index bfe1a63..cba1737 100644
--- a/csync/src/csync_owncloud.c
+++ b/csync/src/csync_owncloud.c
@@ -70,7 +70,7 @@ struct listdir_context *propfind_cache = 0;
 bool is_first_propfind = true;
 
 
-csync_vio_file_stat_t _stat_cache;
+struct resource* _stat_cache = 0;
 /* id cache, cache the ETag: header of a GET request */
 struct { char *uri; char *id;  } _id_cache = { NULL, NULL };
 
@@ -80,9 +80,8 @@ static void clean_caches() {
     free_fetchCtx(propfind_cache);
     propfind_cache = NULL;
 
-    SAFE_FREE(_stat_cache.name);
-    SAFE_FREE(_stat_cache.etag );
-    memset( _stat_cache.file_id, 0, FILE_ID_BUF_SIZE+1 );
+    resource_free(_stat_cache);
+    _stat_cache = NULL;
 
     SAFE_FREE(_id_cache.uri);
     SAFE_FREE(_id_cache.id);
@@ -764,26 +763,6 @@ static struct listdir_context *fetch_resource_list_attempts(const char *uri, int
     return fetchCtx;
 }
 
-static void fill_stat_cache( csync_vio_file_stat_t *lfs ) {
-
-    if( _stat_cache.name ) SAFE_FREE(_stat_cache.name);
-    if( _stat_cache.etag  ) SAFE_FREE(_stat_cache.etag );
-
-    if( !lfs) return;
-
-    _stat_cache.name   = c_strdup(lfs->name);
-    _stat_cache.mtime  = lfs->mtime;
-    _stat_cache.fields = lfs->fields;
-    _stat_cache.type   = lfs->type;
-    _stat_cache.size   = lfs->size;
-    csync_vio_file_stat_set_file_id(&_stat_cache, lfs->file_id);
-
-    if( lfs->etag ) {
-        _stat_cache.etag    = c_strdup(lfs->etag);
-    }
-}
-
-
 
 /*
  * file functions
@@ -794,38 +773,24 @@ int owncloud_stat(const char *uri, csync_vio_file_stat_t *buf) {
      *   creattime
      *   size
      */
-    csync_vio_file_stat_t *lfs = NULL;
     struct listdir_context  *fetchCtx = NULL;
     char *decodedUri = NULL;
     int len = 0;
     errno = 0;
 
-    buf->name = c_basename(uri);
-
-    if (buf->name == NULL) {
-        errno = ENOMEM;
-        return -1;
+    ne_uri uri_parsed;
+    if (ne_uri_parse(uri, &uri_parsed) != NE_OK) {
+        return 1;
     }
 
-    if( _stat_cache.name && strcmp( buf->name, _stat_cache.name ) == 0 ) {
-        buf->fields  = CSYNC_VIO_FILE_STAT_FIELDS_NONE;
-        buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_TYPE;
-        buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_SIZE;
-        buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_MTIME;
-        buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_PERMISSIONS;
-        buf->fields  = _stat_cache.fields;
-        buf->type    = _stat_cache.type;
-        buf->mtime   = _stat_cache.mtime;
-        buf->size    = _stat_cache.size;
-        buf->mode    = _stat_perms( _stat_cache.type );
-        buf->etag     = NULL;
-        if( _stat_cache.etag ) {
-            buf->etag    = c_strdup( _stat_cache.etag );
-            buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_ETAG;
-        }
-        csync_vio_file_stat_set_file_id( buf, _stat_cache.file_id );
+    buf->name = c_basename(uri);
+
+    if( _stat_cache && _stat_cache->uri && strcmp( uri_parsed.path, _stat_cache->uri ) == 0 ) {
+        ne_uri_free(&uri_parsed);
+        resourceToFileStat(buf, _stat_cache );
         return 0;
     }
+    ne_uri_free(&uri_parsed);
     DEBUG_WEBDAV("owncloud_stat => Could not find in stat cache %s", uri);
 
     /* fetch data via a propfind call. */
@@ -859,29 +824,8 @@ int owncloud_stat(const char *uri, csync_vio_file_stat_t *buf) {
             DEBUG_WEBDAV("ERROR: Result struct not valid!");
         }
 
-        lfs = resourceToFileStat( res );
-        if( lfs ) {
-            buf->fields = CSYNC_VIO_FILE_STAT_FIELDS_NONE;
-            buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_TYPE;
-            buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_SIZE;
-            buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_MTIME;
-            buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_PERMISSIONS;
-            buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_ETAG;
-
-            buf->fields = lfs->fields;
-            buf->type   = lfs->type;
-            buf->mtime  = lfs->mtime;
-            buf->size   = lfs->size;
-            buf->mode   = _stat_perms( lfs->type );
-            buf->etag    = NULL;
-            if( lfs->etag ) {
-                buf->etag    = c_strdup( lfs->etag );
-            }
-            csync_vio_file_stat_set_file_id( buf, lfs->file_id );
-
-            /* fill the static stat buf as input for the stat function */
-            csync_vio_file_stat_destroy( lfs );
-        }
+        // Fill user-provided buffer
+        resourceToFileStat(buf, res );
 
         free_fetchCtx( fetchCtx );
     }
@@ -971,8 +915,20 @@ csync_vio_file_stat_t *owncloud_readdir(csync_vio_handle_t *dhandle) {
          */
         escaped_path = ne_path_escape( currResource->uri );
         if (ne_path_compare(fetchCtx->target, escaped_path) != 0) {
-            csync_vio_file_stat_t* lfs = resourceToFileStat(currResource);
-            fill_stat_cache(lfs);
+            // Convert the resource for the caller
+            csync_vio_file_stat_t* lfs = csync_vio_file_stat_new();
+            resourceToFileStat(lfs, currResource);
+
+            // Save the current readdir result into our single item stat cache too so a call to stat()
+            // will return that item
+            if (_stat_cache) {
+                resource_free(_stat_cache);
+                _stat_cache = NULL;
+            }
+            _stat_cache = resource_dup(currResource);
+            _stat_cache->next = 0;
+
+
             SAFE_FREE( escaped_path );
             return lfs;
         }
diff --git a/csync/src/csync_owncloud.h b/csync/src/csync_owncloud.h
index fece580..d6bce75 100644
--- a/csync/src/csync_owncloud.h
+++ b/csync/src/csync_owncloud.h
@@ -164,7 +164,9 @@ time_t oc_httpdate_parse( const char *date );
 char *_cleanPath( const char* uri );
 
 int _stat_perms( int type );
-csync_vio_file_stat_t *resourceToFileStat( struct resource *res );
+void resourceToFileStat( csync_vio_file_stat_t *lfs, struct resource *res );
+void resource_free(struct resource* o);
+struct resource* resource_dup(struct resource* o);
 
 // Public API from vio
 csync_vio_handle_t *owncloud_opendir(const char *uri);
diff --git a/csync/src/csync_owncloud_recursive_propfind.c b/csync/src/csync_owncloud_recursive_propfind.c
index 29abd19..4b8c424 100644
--- a/csync/src/csync_owncloud_recursive_propfind.c
+++ b/csync/src/csync_owncloud_recursive_propfind.c
@@ -27,35 +27,7 @@ int propfind_recursive_cache_file_count = 0;
 int propfind_recursive_cache_folder_count = 0;
 
 
-static struct resource* resource_dup(struct resource* o) {
-    struct resource *r = c_malloc (sizeof( struct resource ));
-    ZERO_STRUCTP(r);
-
-    r->uri = c_strdup(o->uri);
-    r->name = c_strdup(o->name);
-    r->type = o->type;
-    r->size = o->size;
-    r->modtime = o->modtime;
-    if( o->md5 ) {
-        r->md5 = c_strdup(o->md5);
-    }
-    r->next = o->next;
-    csync_vio_set_file_id(r->file_id, o->file_id);
 
-    return r;
-}
-static void resource_free(struct resource* o) {
-    struct resource* old = NULL;
-    while (o)
-    {
-        old = o;
-        o = o->next;
-        SAFE_FREE(old->uri);
-        SAFE_FREE(old->name);
-        SAFE_FREE(old->md5);
-        SAFE_FREE(old);
-    }
-}
 
 static void _tree_destructor(void *data) {
     propfind_recursive_element_t *element = data;
@@ -202,6 +174,7 @@ static void propfind_results_recursive(void *userdata,
         if (!element) {
             element = c_malloc(sizeof(propfind_recursive_element_t));
             element->self = resource_dup(newres);
+            element->self->next = 0;
             element->children = NULL;
             element->parent = NULL;
             c_rbtree_insert(propfind_recursive_cache, element);
diff --git a/csync/src/csync_owncloud_util.c b/csync/src/csync_owncloud_util.c
index ef57f77..0c5d7d4 100644
--- a/csync/src/csync_owncloud_util.c
+++ b/csync/src/csync_owncloud_util.c
@@ -279,19 +279,9 @@ time_t oc_httpdate_parse( const char *date ) {
 /*
  * helper: convert a resource struct to file_stat struct.
  */
-csync_vio_file_stat_t *resourceToFileStat( struct resource *res )
+void resourceToFileStat(csync_vio_file_stat_t *lfs, struct resource *res )
 {
-    csync_vio_file_stat_t *lfs = NULL;
-
-    if( ! res ) {
-        return NULL;
-    }
-
-    lfs = c_malloc(sizeof(csync_vio_file_stat_t));
-    if (lfs == NULL) {
-        errno = ENOMEM;
-        return NULL;
-    }
+    ZERO_STRUCTP(lfs);
 
     lfs->name = c_strdup( res->name );
 
@@ -306,17 +296,20 @@ csync_vio_file_stat_t *resourceToFileStat( struct resource *res )
         DEBUG_WEBDAV("ERROR: Unknown resource type %d", res->type);
     }
 
+    // FIXME Those are defaults, we'll have to use the real ownCloud WebDAV permissions soon
+    lfs->mode   = _stat_perms( lfs->type );
+    lfs->fields |= CSYNC_VIO_FILE_STAT_FIELDS_PERMISSIONS;
+
     lfs->mtime = res->modtime;
     lfs->fields |= CSYNC_VIO_FILE_STAT_FIELDS_MTIME;
     lfs->size  = res->size;
     lfs->fields |= CSYNC_VIO_FILE_STAT_FIELDS_SIZE;
     if( res->md5 ) {
         lfs->etag   = c_strdup(res->md5);
+        lfs->fields |= CSYNC_VIO_FILE_STAT_FIELDS_ETAG;
     }
-    lfs->fields |= CSYNC_VIO_FILE_STAT_FIELDS_ETAG;
-    csync_vio_file_stat_set_file_id(lfs, res->file_id);
 
-    return lfs;
+    csync_vio_file_stat_set_file_id(lfs, res->file_id);
 }
 
 /* WebDAV does not deliver permissions. Set a default here. */
@@ -339,3 +332,32 @@ int _stat_perms( int type ) {
     return ret;
 }
 
+struct resource* resource_dup(struct resource* o) {
+    struct resource *r = c_malloc (sizeof( struct resource ));
+    ZERO_STRUCTP(r);
+
+    r->uri = c_strdup(o->uri);
+    r->name = c_strdup(o->name);
+    r->type = o->type;
+    r->size = o->size;
+    r->modtime = o->modtime;
+    if( o->md5 ) {
+        r->md5 = c_strdup(o->md5);
+    }
+    r->next = o->next;
+    csync_vio_set_file_id(r->file_id, o->file_id);
+
+    return r;
+}
+void resource_free(struct resource* o) {
+    struct resource* old = NULL;
+    while (o)
+    {
+        old = o;
+        o = o->next;
+        SAFE_FREE(old->uri);
+        SAFE_FREE(old->name);
+        SAFE_FREE(old->md5);
+        SAFE_FREE(old);
+    }
+}
diff --git a/csync/src/csync_update.c b/csync/src/csync_update.c
index 3ec6b19..44d1a03 100644
--- a/csync/src/csync_update.c
+++ b/csync/src/csync_update.c
@@ -361,8 +361,6 @@ out:
   st->mode  = fs->mode;
   st->size  = fs->size;
   st->modtime = fs->mtime;
-  st->uid   = fs->uid;
-  st->gid   = fs->gid;
   st->nlink = fs->nlink;
   st->type  = type;
   st->etag   = NULL;
@@ -587,6 +585,8 @@ int csync_ftw(CSYNC *ctx, const char *uri, csync_walker_fn fn,
     }
 
     /* == see if really stat has to be called. */
+    /* FIXME: No, this stat() is actually useless. This is the only place where we call it
+       and we get all info already thanks to csync_vio_readdir */
     fs = csync_vio_file_stat_new();
     res = csync_vio_stat(ctx, filename, fs);
 
diff --git a/csync/src/csync_util.c b/csync/src/csync_util.c
index ffcdafb..64f2ccf 100644
--- a/csync/src/csync_util.c
+++ b/csync/src/csync_util.c
@@ -128,59 +128,6 @@ void csync_win32_set_file_hidden( const char *file, bool h ) {
 #endif
 }
 
-csync_vio_file_stat_t *csync_vio_convert_file_stat(csync_file_stat_t *st) {
-  csync_vio_file_stat_t *vfs = NULL;
-
-  if (st == NULL) {
-    return NULL;
-  }
-
-  vfs = csync_vio_file_stat_new();
-  if (vfs == NULL) {
-    return NULL;
-  }
-  vfs->acl = NULL;
-  if (st->pathlen > 0) {
-    vfs->name = c_strdup(st->path);
-  }
-  vfs->uid   = st->uid;
-  vfs->gid   = st->gid;
-
-  vfs->atime = 0;
-  vfs->mtime = st->modtime;
-  vfs->ctime = 0;
-
-  vfs->size  = st->size;
-  vfs->blksize  = 0;  /* Depricated. */
-  vfs->blkcount = 0;
-
-  vfs->mode  = st->mode;
-  vfs->device = 0;
-  vfs->inode = st->inode;
-  vfs->nlink = st->nlink;
-
-  /* fields. */
-  vfs->fields = CSYNC_VIO_FILE_STAT_FIELDS_TYPE
-      + CSYNC_VIO_FILE_STAT_FIELDS_PERMISSIONS
-      + CSYNC_VIO_FILE_STAT_FIELDS_INODE
-      + CSYNC_VIO_FILE_STAT_FIELDS_LINK_COUNT
-      + CSYNC_VIO_FILE_STAT_FIELDS_SIZE
-      + CSYNC_VIO_FILE_STAT_FIELDS_MTIME
-      + CSYNC_VIO_FILE_STAT_FIELDS_UID
-      + CSYNC_VIO_FILE_STAT_FIELDS_GID;
-
-  if (st->type == CSYNC_FTW_TYPE_DIR)
-    vfs->type = CSYNC_VIO_FILE_TYPE_DIRECTORY;
-  else if (st->type == CSYNC_FTW_TYPE_FILE)
-    vfs->type = CSYNC_VIO_FILE_TYPE_REGULAR;
-  else if (st->type == CSYNC_FTW_TYPE_SLINK)
-    vfs->type = CSYNC_VIO_FILE_TYPE_SYMBOLIC_LINK;
-  else
-    vfs->type = CSYNC_VIO_FILE_TYPE_UNKNOWN;
-
-  return vfs;
-}
-
 bool (*csync_file_locked_or_open_ext) (const char*) = 0; // filled in by library user
 void set_csync_file_locked_or_open_ext(bool (*f) (const char*));
 void set_csync_file_locked_or_open_ext(bool (*f) (const char*)) {
diff --git a/csync/src/csync_util.h b/csync/src/csync_util.h
index 20fe694..50ee03f 100644
--- a/csync/src/csync_util.h
+++ b/csync/src/csync_util.h
@@ -32,8 +32,5 @@ void csync_memstat_check(void);
 
 void csync_win32_set_file_hidden( const char *file, bool hidden );
 
-/* Convert a csync_file_stat_t to csync_vio_file_stat_t */
-csync_vio_file_stat_t *csync_vio_convert_file_stat(csync_file_stat_t *st);
-
 bool csync_file_locked_or_open( const char *dir, const char *fname);
 #endif /* _CSYNC_UTIL_H */
diff --git a/csync/src/vio/csync_vio_file_stat.c b/csync/src/vio/csync_vio_file_stat.c
index 010e851..46b2d45 100644
--- a/csync/src/vio/csync_vio_file_stat.c
+++ b/csync/src/vio/csync_vio_file_stat.c
@@ -22,14 +22,8 @@
 #include "vio/csync_vio_file_stat.h"
 
 csync_vio_file_stat_t *csync_vio_file_stat_new(void) {
-  csync_vio_file_stat_t *file_stat = NULL;
-
-  file_stat = (csync_vio_file_stat_t *) c_malloc(sizeof(csync_vio_file_stat_t));
-  if (file_stat == NULL) {
-    return NULL;
-  }
-  file_stat->etag = NULL;
-  memset(file_stat->file_id, 0, FILE_ID_BUF_SIZE+1);
+  csync_vio_file_stat_t *file_stat = (csync_vio_file_stat_t *) c_malloc(sizeof(csync_vio_file_stat_t));
+  ZERO_STRUCTP(file_stat);
   return file_stat;
 }
 
@@ -39,12 +33,6 @@ void csync_vio_file_stat_destroy(csync_vio_file_stat_t *file_stat) {
     return;
   }
 
-  if (file_stat->fields & CSYNC_VIO_FILE_STAT_FIELDS_SYMLINK_NAME) {
-    SAFE_FREE(file_stat->u.symlink_name);
-  }
-  if (file_stat->fields & CSYNC_VIO_FILE_STAT_FIELDS_CHECKSUM) {
-    SAFE_FREE(file_stat->u.checksum);
-  }
   if (file_stat->fields & CSYNC_VIO_FILE_STAT_FIELDS_ETAG) {
     SAFE_FREE(file_stat->etag);
   }
diff --git a/csync/src/vio/csync_vio_file_stat.h b/csync/src/vio/csync_vio_file_stat.h
index 849e532..198c83a 100644
--- a/csync/src/vio/csync_vio_file_stat.h
+++ b/csync/src/vio/csync_vio_file_stat.h
@@ -62,42 +62,31 @@ enum csync_vio_file_stat_fields_e {
   CSYNC_VIO_FILE_STAT_FIELDS_INODE = 1 << 4,
   CSYNC_VIO_FILE_STAT_FIELDS_LINK_COUNT = 1 << 5,
   CSYNC_VIO_FILE_STAT_FIELDS_SIZE = 1 << 6,
-  CSYNC_VIO_FILE_STAT_FIELDS_BLOCK_COUNT = 1 << 7, /* will be removed */
-  CSYNC_VIO_FILE_STAT_FIELDS_BLOCK_SIZE = 1 << 8,  /* will be removed */
+//  CSYNC_VIO_FILE_STAT_FIELDS_BLOCK_COUNT = 1 << 7, /* will be removed */
+//  CSYNC_VIO_FILE_STAT_FIELDS_BLOCK_SIZE = 1 << 8,  /* will be removed */
   CSYNC_VIO_FILE_STAT_FIELDS_ATIME = 1 << 9,
   CSYNC_VIO_FILE_STAT_FIELDS_MTIME = 1 << 10,
   CSYNC_VIO_FILE_STAT_FIELDS_CTIME = 1 << 11,
-  CSYNC_VIO_FILE_STAT_FIELDS_SYMLINK_NAME = 1 << 12,
-  CSYNC_VIO_FILE_STAT_FIELDS_CHECKSUM = 1 << 13,
-  CSYNC_VIO_FILE_STAT_FIELDS_ACL = 1 << 14,
-  CSYNC_VIO_FILE_STAT_FIELDS_UID = 1 << 15,
-  CSYNC_VIO_FILE_STAT_FIELDS_GID = 1 << 16,
+//  CSYNC_VIO_FILE_STAT_FIELDS_SYMLINK_NAME = 1 << 12,
+//  CSYNC_VIO_FILE_STAT_FIELDS_CHECKSUM = 1 << 13,
+//  CSYNC_VIO_FILE_STAT_FIELDS_ACL = 1 << 14,
+//  CSYNC_VIO_FILE_STAT_FIELDS_UID = 1 << 15,
+//  CSYNC_VIO_FILE_STAT_FIELDS_GID = 1 << 16,
   CSYNC_VIO_FILE_STAT_FIELDS_ETAG = 1 << 17,
   CSYNC_VIO_FILE_STAT_FIELDS_FILE_ID = 1 << 18
 };
 
 
 struct csync_vio_file_stat_s {
-  union {
-    char *symlink_name;
-    char *checksum;
-  } u;
-
-  void *acl;
   char *name;
   char *etag;
   char file_id[FILE_ID_BUF_SIZE+1];
 
-  uid_t uid;
-  gid_t gid;
-
   time_t atime;
   time_t mtime;
   time_t ctime;
 
   int64_t size;
-  int64_t blksize;         /* will be removed in future, not used in csync */
-  unsigned long blkcount;  /* will be removed in future, not used in csync */
 
   mode_t mode;
 
@@ -109,10 +98,6 @@ struct csync_vio_file_stat_s {
   enum csync_vio_file_type_e type;
 
   enum csync_vio_file_flags_e flags;
-
-  void *reserved1;
-  void *reserved2;
-  void *reserved3;
 };
 
 csync_vio_file_stat_t *csync_vio_file_stat_new(void);
diff --git a/csync/src/vio/csync_vio_local.c b/csync/src/vio/csync_vio_local.c
index ce2b257..fdea8ae 100644
--- a/csync/src/vio/csync_vio_local.c
+++ b/csync/src/vio/csync_vio_local.c
@@ -331,11 +331,6 @@ int csync_vio_local_stat(const char *uri, csync_vio_file_stat_t *buf) {
   buf->inode = sb.st_ino;
   buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_INODE;
 
-  /* Both values are only initialized to zero as they are not used in csync */
-  /* They are deprecated and will be rmemoved later. */
-  buf->blksize  = 0;
-  buf->blkcount = 0;
-
   buf->atime = sb.st_atime;
   buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_ATIME;
 
@@ -348,12 +343,6 @@ int csync_vio_local_stat(const char *uri, csync_vio_file_stat_t *buf) {
   buf->nlink = sb.st_nlink;
   buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_LINK_COUNT;
 
-  buf->uid = sb.st_uid;
-  buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_UID;
-
-  buf->gid = sb.st_gid;
-  buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_GID;
-
   buf->size = sb.st_size;
   buf->fields |= CSYNC_VIO_FILE_STAT_FIELDS_SIZE;
 
diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp
index 3e5c6c9..c2b64ea 100644
--- a/src/mirall/syncengine.cpp
+++ b/src/mirall/syncengine.cpp
@@ -287,7 +287,6 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote )
         Q_ASSERT("Non handled error-status");
         /* No error string */
     }
-
     item._isDirectory = file->type == CSYNC_FTW_TYPE_DIR;
     item._modtime = file->modtime;
     item._etag = file->etag;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git



More information about the Pkg-owncloud-commits mailing list