X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Finstall.c;h=b843ee156b5e9843f1a34023339170b00b1d7a33;hb=02f130cbd943c5c177cb0e711db0447cac685d67;hp=e6bd5782e1380b431d3c911712f664812a6fe63d;hpb=e6a6b406791a76ca979ff5e615fd4d9a986a14b8;p=elogind.git diff --git a/src/install.c b/src/install.c index e6bd5782e..b843ee156 100644 --- a/src/install.c +++ b/src/install.c @@ -126,8 +126,6 @@ static int add_file_change( UnitFileChange *c; unsigned i; - assert(type >= 0); - assert(type < _UNIT_FILE_CHANGE_TYPE_MAX); assert(path); assert(!changes == !n_changes); @@ -1414,6 +1412,10 @@ int unit_file_enable( goto finish; } + /* This will return the number of symlink rules that were + supposed to be created, not the ones actually created. This is + useful to determine whether the passed files hat any + installation data at all. */ r = install_context_apply(&c, &paths, config_path, root_dir, force, changes, n_changes); finish: @@ -1514,6 +1516,7 @@ int unit_file_reenable( r = remove_marked_symlinks(remove_symlinks_to, config_path, changes, n_changes); + /* Returns number of symlinks that where supposed to be installed. */ q = install_context_apply(&c, &paths, config_path, root_dir, force, changes, n_changes); if (r == 0) r = q; @@ -1763,6 +1766,7 @@ int unit_file_preset( if (r == 0) r = q; + /* Returns number of symlinks that where supposed to be installed. */ q = install_context_apply(&plus, &paths, config_path, root_dir, force, changes, n_changes); if (r == 0) r = q; @@ -1942,3 +1946,10 @@ static const char* const unit_file_state_table[_UNIT_FILE_STATE_MAX] = { }; DEFINE_STRING_TABLE_LOOKUP(unit_file_state, UnitFileState); + +static const char* const unit_file_change_type_table[_UNIT_FILE_CHANGE_TYPE_MAX] = { + [UNIT_FILE_SYMLINK] = "symlink", + [UNIT_FILE_UNLINK] = "unlink", +}; + +DEFINE_STRING_TABLE_LOOKUP(unit_file_change_type, UnitFileChangeType);