Merge pull request #2425 from yuwata/journal-remote-v4

ZJS: remove unnecessary oom check after strdupa().
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2016-01-24 11:49:31 -05:00
2 changed files with 43 additions and 18 deletions
+31 -15
View File
@@ -150,7 +150,7 @@ static int spawn_curl(const char* url) {
return r;
}
static int spawn_getter(const char *getter, const char *url) {
static int spawn_getter(const char *getter) {
int r;
_cleanup_strv_free_ char **words = NULL;
@@ -159,10 +159,6 @@ static int spawn_getter(const char *getter, const char *url) {
if (r < 0)
return log_error_errno(r, "Failed to split getter option: %m");
r = strv_extend(&words, url);
if (r < 0)
return log_error_errno(r, "Failed to create command line: %m");
r = spawn_child(words[0], words);
if (r < 0)
log_error_errno(r, "Failed to spawn getter %s: %m", getter);
@@ -897,18 +893,32 @@ static int remoteserver_init(RemoteServer *s,
fd);
}
if (arg_getter) {
log_info("Spawning getter %s...", arg_getter);
fd = spawn_getter(arg_getter);
if (fd < 0)
return fd;
r = add_source(s, fd, (char*) arg_output, false);
if (r < 0)
return r;
}
if (arg_url) {
const char *url, *hostname;
const char *url;
char *hostname, *p;
url = strjoina(arg_url, "/entries");
if (arg_getter) {
log_info("Spawning getter %s...", url);
fd = spawn_getter(arg_getter, url);
} else {
log_info("Spawning curl %s...", url);
fd = spawn_curl(url);
if (!strstr(arg_url, "/entries")) {
if (endswith(arg_url, "/"))
url = strjoina(arg_url, "entries");
else
url = strjoina(arg_url, "/entries");
}
else
url = strdupa(arg_url);
log_info("Spawning curl %s...", url);
fd = spawn_curl(url);
if (fd < 0)
return fd;
@@ -917,7 +927,13 @@ static int remoteserver_init(RemoteServer *s,
startswith(arg_url, "http://") ?:
arg_url;
r = add_source(s, fd, (char*) hostname, false);
hostname = strdupa(hostname);
if ((p = strchr(hostname, '/')))
*p = '\0';
if ((p = strchr(hostname, ':')))
*p = '\0';
r = add_source(s, fd, hostname, false);
if (r < 0)
return r;
}