summaryrefslogtreecommitdiffstats
path: root/__root__
diff options
context:
space:
mode:
authorJan Pokorný <jpokorny@redhat.com>2015-03-10 19:05:46 +0100
committerJan Pokorný <jpokorny@redhat.com>2015-03-16 22:39:46 +0100
commit1cd32f29b9fd8a97957b637aea91f0fc859b2232 (patch)
treea0a61f6d64a68a7c6baf5d84afb9104b762fc0f0 /__root__
parentdb9b15b1c95bb29da27be4cbb94d04880c1323e7 (diff)
downloadclufter-1cd32f29b9fd8a97957b637aea91f0fc859b2232.tar.gz
clufter-1cd32f29b9fd8a97957b637aea91f0fc859b2232.tar.xz
clufter-1cd32f29b9fd8a97957b637aea91f0fc859b2232.zip
ccs-flatten: minor fixes and simplifications
- add "#ifdef RA_METADATA_EXT" where also advisable - closedir before possibly returning, not the other way around - reflect the fact basename doesn't return NULL and work with its return value directly Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Diffstat (limited to '__root__')
-rw-r--r--__root__/ccs-flatten/flatten.c2
-rw-r--r--__root__/ccs-flatten/resrules.c15
2 files changed, 11 insertions, 6 deletions
diff --git a/__root__/ccs-flatten/flatten.c b/__root__/ccs-flatten/flatten.c
index 08745a0..4f2a75e 100644
--- a/__root__/ccs-flatten/flatten.c
+++ b/__root__/ccs-flatten/flatten.c
@@ -151,7 +151,9 @@ flatten(int argc, char **argv)
load_resource_rules(agentpath, &rulelist, rawmetadata);
if (rulelist)
break;
+#ifdef RA_METADATA_EXT
rawmetadata = !rawmetadata;
+#endif
} while (rawmetadata);
if (!rulelist) {
fprintf(stderr, "No resource rules available\n");
diff --git a/__root__/ccs-flatten/resrules.c b/__root__/ccs-flatten/resrules.c
index bf76bd5..4d8e485 100644
--- a/__root__/ccs-flatten/resrules.c
+++ b/__root__/ccs-flatten/resrules.c
@@ -914,7 +914,7 @@ load_resource_rules(const char *rpath, resource_rule_t ** rules,
{
DIR *dir;
struct dirent *de;
- char *fn, *dot, path[2048];
+ char *fn, *dot, path[2048] = "";
typedef char pathT[PATH_MAX];
pathT pathbuf1 = "/proc/self/exe", pathbuf2 = "";
pathT *path1 = &pathbuf1, *path2 = &pathbuf2;
@@ -922,16 +922,19 @@ load_resource_rules(const char *rpath, resource_rule_t ** rules,
glob_t globbuf;
int i;
+ /* jump to "convenient fallback" if there are no metadata present
+#ifdef RA_METADATA_EXT
snprintf(path, sizeof(path), "%s/*.%s", rpath, RA_METADATA_EXT);
+#endif
if (!(
(dir = opendir(rpath))
&& (!rawmetadata || !glob(path, GLOB_NOSORT, NULL, &globbuf))
)) {
/* convenient fallback for local/test deployment, rawmetadata only */
- if (!rawmetadata)
- return -1;
if (dir)
closedir(dir);
+ if (!rawmetadata)
+ return -1;
for (i = 0; i < 8; i++) {
errno = 0;
if (readlink(*path1, *path2, sizeof(*path2)/sizeof(**path2))
@@ -959,7 +962,7 @@ load_resource_rules(const char *rpath, resource_rule_t ** rules,
continue;
/* Ignore files with common backup extension */
- if ((fn != NULL) && (strlen(fn) > 0) && (fn[strlen(fn) - 1] == '~'))
+ if ((strlen(fn) > 0) && (fn[strlen(fn) - 1] == '~'))
continue;
/* Ignore hidden files */
@@ -972,7 +975,7 @@ load_resource_rules(const char *rpath, resource_rule_t ** rules,
diffs, etc. */
if (!strncasecmp(dot, ".rpm", 4)) {
fprintf(stderr, "Warning: "
- "Ignoring %s/%s: Bad extension %s\n", rpath, de->d_name, dot);
+ "Ignoring %s/%s: Bad extension %s\n", rpath, fn, dot);
continue;
}
}
@@ -983,7 +986,7 @@ load_resource_rules(const char *rpath, resource_rule_t ** rules,
continue;
#endif
- snprintf(path, sizeof(path), "%s/%s", rpath, de->d_name);
+ snprintf(path, sizeof(path), "%s/%s", rpath, fn);
if (stat(path, &st_buf) < 0)
continue;