From 171669c3a4f92efa2f4b8828aea1b37f2b0da5cc Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Tue, 5 Nov 2013 18:04:36 +0100 Subject: [PATCH] Add straycat handling functions. --- src/csync_rename.cc | 23 +++++++++++++++++++++++ src/csync_rename.h | 5 +++++ 2 files changed, 28 insertions(+) diff --git a/src/csync_rename.cc b/src/csync_rename.cc index 71ade82b10..a4bd971f71 100644 --- a/src/csync_rename.cc +++ b/src/csync_rename.cc @@ -51,6 +51,7 @@ struct csync_rename_s { } }; std::vector todo; + std::vector straycats; }; static int _csync_rename_record(void *obj, void *data) { @@ -91,4 +92,26 @@ char* csync_rename_adjust_path(CSYNC* ctx, const char* path) return c_strdup(path); } +void csync_add_journal_straycat(CSYNC *ctx, const char *filename) +{ + csync_rename_s* d = csync_rename_s::get(ctx); + if(d) + d->straycats.push_back( std::string(filename)); +} + +int csync_straycat_count(CSYNC *ctx) +{ + csync_rename_s* d = csync_rename_s::get(ctx); + if(d) + return d->straycats.size(); + return 0; +} + +const char *csync_straycat_at(CSYNC *ctx, int pos ) +{ + csync_rename_s* d = csync_rename_s::get(ctx); + if(d) + return d->straycats.at(pos).c_str(); + return NULL; +} }; diff --git a/src/csync_rename.h b/src/csync_rename.h index 75247696c2..e38b30d35b 100644 --- a/src/csync_rename.h +++ b/src/csync_rename.h @@ -29,6 +29,11 @@ extern "C" { char *csync_rename_adjust_path(CSYNC *ctx, const char *path); void csync_rename_destroy(CSYNC *ctx); void csync_rename_record(CSYNC *ctx, const char *from, const char *to); +void csync_add_journal_straycat(CSYNC *ctx, const char* filename); + +int csync_straycat_count(CSYNC *ctx); +const char *csync_straycat_at(CSYNC *ctx, int pos ); + #ifdef __cplusplus }