1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-08-13 17:03:46 -04:00

be_package: Refactor handling of simple path checks

This is used to deduplicate code when using the mtree as the file list
source.

Signed-off-by: Florian Pritz <bluewind@xinu.at>
This commit is contained in:
Florian Pritz 2014-01-27 23:40:49 +01:00 committed by Allan McRae
parent 42f4a5081e
commit 11fb1d30f4

View File

@ -352,6 +352,26 @@ int _alpm_pkg_validate_internal(alpm_handle_t *handle,
return 0;
}
/**
* Handle the existance of simple paths for _alpm_load_pkg_internal()
* @param pkg package to change
* @param path path to examine
* @return 0 if path doesn't match any rule, 1 if it has been handled
*/
static int handle_simple_path(alpm_pkg_t *pkg, const char *path)
{
if(strcmp(path, ".INSTALL") == 0) {
pkg->scriptlet = 1;
return 1;
} else if(*path == '.') {
/* for now, ignore all files starting with '.' that haven't
* already been handled (for future possibilities) */
return 1;
}
return 0;
}
/**
* Load a package and create the corresponding alpm_pkg_t struct.
* @param handle the context handle
@ -423,11 +443,8 @@ alpm_pkg_t *_alpm_pkg_load_internal(alpm_handle_t *handle,
}
config = 1;
continue;
} else if(strcmp(entry_name, ".INSTALL") == 0) {
newpkg->scriptlet = 1;
} else if(*entry_name == '.') {
/* for now, ignore all files starting with '.' that haven't
* already been handled (for future possibilities) */
} else if(handle_simple_path(newpkg, entry_name)) {
continue;
} else if(full) {
const size_t files_count = newpkg->files.count;
alpm_file_t *current_file;