commit b802c7d4ed6eb09bd6cba94315d43158e20fdec6 Author: Oswald Buddenhagen <o...@kde.org> AuthorDate: Sat Mar 30 14:14:23 2013 +0100 Commit: Oswald Buddenhagen <o...@users.sf.net> CommitDate: Sat Mar 30 16:46:18 2013 +0100
make paths relative to CWD, after all the test suite actually relies on it. it would be possible to adjust it, but there is not much reason to make paths relative to HOME (as we support convenient tilde expansion). so use the least invasive approach, which is simply the old behavior. adjust the documentation accordingly. This reverts commit 56db48d31b62cef3fbf6bb718319ccc46add4167. src/config.c | 2 +- src/mbsync.1 | 4 +++- src/util.c | 15 ++------------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/config.c b/src/config.c index e7bbe4f..9e4f766 100644 --- a/src/config.c +++ b/src/config.c @@ -219,7 +219,7 @@ getopt_helper( conffile_t *cfile, int *cops, int ops[], char **sync_state ) while ((arg = get_arg( cfile, ARG_OPTIONAL, 0 ))); ops[M] |= XOP_HAVE_CREATE; } else if (!strcasecmp( "SyncState", cfile->cmd )) - *sync_state = !strcmp( cfile->val, "*" ) ? nfstrdup( "*" ) : expand_strdup( cfile->val ); + *sync_state = expand_strdup( cfile->val ); else return 0; return 1; diff --git a/src/mbsync.1 b/src/mbsync.1 index 4bac5b7..48060d6 100644 --- a/src/mbsync.1 +++ b/src/mbsync.1 @@ -90,6 +90,8 @@ Lines starting with a hash mark (\fB#\fR) are comments and are ignored entirely. Configuration items are keywords followed by one or more arguments; arguments containing spaces must be enclosed in double quotes (\fB"\fR). All keywords (including those used as arguments) are case-insensitive. +Bash-like home directory expansion using the tilde (\fB~\fR) is supported +in all options which represent local paths. There are a few global options, the rest applies to particular sections. Sections are started by a section keyword and are terminated by an empty line or end of file. @@ -177,7 +179,7 @@ Store's \fBTrash\fR. When using this, the remote Store does not need an own (Default: \fIno\fR) .. .SS Maildir Stores -The reference point for relative \fBPath\fRs is $HOME. +The reference point for relative \fBPath\fRs is the current working directory. .P As \fBmbsync\fR needs UIDs, but no standardized UID storage scheme exists for Maildir, \fBmbsync\fR supports two schemes, each with its pros and cons. diff --git a/src/util.c b/src/util.c index 8a7a9d3..ba05efa 100644 --- a/src/util.c +++ b/src/util.c @@ -337,35 +337,24 @@ expand_strdup( const char *s ) if (*s == '~') { s++; if (!*s) { - rethome: p = 0; q = Home; } else if (*s == '/') { - p = s + 1; + p = s; q = Home; } else { if ((p = strchr( s, '/' ))) { r = my_strndup( s, (int)(p - s) ); pw = getpwnam( r ); free( r ); - p++; } else pw = getpwnam( s ); if (!pw) return 0; q = pw->pw_dir; } - if (!p) - return nfstrdup( q ); - retjoin: - nfasprintf( &r, "%s/%s", q, p ); + nfasprintf( &r, "%s%s", q, p ? p : "" ); return r; - } else if (*s != '/') { - if (*s == '.' && !s[1]) - goto rethome; - p = s; - q = Home; - goto retjoin; } else return nfstrdup( s ); } ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel