diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/commit2.c | 24 | ||||
| -rw-r--r-- | src/common/unionfs.c | 3 |
2 files changed, 24 insertions, 3 deletions
diff --git a/src/commit2.c b/src/commit2.c index daea436..5f70aa4 100644 --- a/src/commit2.c +++ b/src/commit2.c @@ -436,7 +436,13 @@ process_func(GNode *node, gpointer data) status = execute_list(c->_def.actions[result->_action].vtw_list_head,&c->_def); } else { - fprintf(out_stream,"%s\t:\t%s\n",ActionNames[result->_action],d->_path); + char buf[MAX_LENGTH_DIR_PATH*sizeof(char)]; + sprintf(buf,"%s\t:\t%s",ActionNames[result->_action],d->_path); + if (c->_def.multi) { //need to handle the embedded multinode as a special case--should be fixed! + char *val = (char*)clind_unescape(d->_name); + strcat(buf,val); + } + fprintf(out_stream,"%s\n",buf); status = 1; } if (result->_action == delete_act) { @@ -985,11 +991,19 @@ validate_func(GNode *node, gpointer data) char *buf = malloc(MAX_LENGTH_DIR_PATH*sizeof(char)); if (IS_DELETE(d->_operation)) { sprintf(buf,"- %s",d->_path); + if (c->_def.multi) { //need to handle the embedded multinode as a special case--should be fixed! + char *val = (char*)clind_unescape(d->_name); + strcat(buf,val); + } coll = g_slist_append(coll,buf); result->_data = (void*)&coll; } else if (IS_SET_OR_CREATE(d->_operation)) { sprintf(buf,"+ %s",d->_path); + if (c->_def.multi) { //need to handle the embedded multinode as a special case--should be fixed! + char *val = (char*)clind_unescape(d->_name); + strcat(buf,val); + } coll = g_slist_append(coll,buf); result->_data = (void*)&coll; } @@ -1052,7 +1066,13 @@ validate_func(GNode *node, gpointer data) status = execute_list(c->_def.actions[result->_action].vtw_list_head,&c->_def); } else { - fprintf(out_stream,"%s\t:\t%s\n",ActionNames[result->_action],d->_path); + char buf[MAX_LENGTH_DIR_PATH*sizeof(char)]; + sprintf(buf,"%s\t:\t%s",ActionNames[result->_action],d->_path); + if (c->_def.multi) { //need to handle the embedded multinode as a special case--should be fixed! + char *val = (char*)clind_unescape(d->_name); + strcat(buf,val); + } + fprintf(out_stream,"%s\n",buf); status = 1; } diff --git a/src/common/unionfs.c b/src/common/unionfs.c index 80a9ba7..5ef6618 100644 --- a/src/common/unionfs.c +++ b/src/common/unionfs.c @@ -580,7 +580,7 @@ common_commit_copy_to_live_config(GNode *node, boolean test_mode) static const char format0[]="mkdir -p %s ; /bin/true"; static const char formatpoint5[]="rm -fr %s"; /*tmpp*/ static const char format1[]="cp -r -f %s/* %s"; /*mdirp, tmpp*/ - + static const char format2[]="sudo umount %s"; //mdirp static const char format8[]="sudo mount -t unionfs -o dirs=%s=rw:%s=ro unionfs %s"; //cdirp, adirp, mdirp @@ -1038,6 +1038,7 @@ dlist_test_func(GQuark key_id,gpointer data,gpointer user_data) } else { new_vn = vn; + // strcat(new_vn->_data._path,"/"); strcat(new_vn->_data._path,"/value"); } new_vn->_data._value = TRUE; |
