diff --git a/src/client/client.c b/src/client/client.c index fdb4bdb..1ce3e61 100644 --- a/src/client/client.c +++ b/src/client/client.c @@ -307,6 +307,10 @@ int main(int argc, char *argv[]) { if (is_remote_dest(config->receive_root_directory)) { config->transport = TRANSPORT_SSH; config->ssh_destination = str_dup(config->receive_root_directory); + char *colon = strchr(config->receive_root_directory, ':'); + char *path = str_dup(colon + 1); + free(config->receive_root_directory); + config->receive_root_directory = path; } } else if (positional_count == 1) { fprintf(stderr, "Error: missing destination argument\n"); diff --git a/src/shared/log.c b/src/shared/log.c index ffdc748..872f046 100644 --- a/src/shared/log.c +++ b/src/shared/log.c @@ -12,14 +12,13 @@ void log_message(LogLevel log_level, char *format, ...) { time_t now = time(NULL); struct tm *t = localtime(&now); - // Print timestamp and log level to the file - printf("%04d-%02d-%02d %02d:%02d:%02d [%s]: ", t->tm_year + 1900, - t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec, - log_level_strings[log_level]); + fprintf(stderr, "%04d-%02d-%02d %02d:%02d:%02d [%s]: ", t->tm_year + 1900, + t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec, + log_level_strings[log_level]); va_list args; va_start(args, format); - vprintf(format, args); + vfprintf(stderr, format, args); va_end(args); - printf("\n"); + fprintf(stderr, "\n"); } diff --git a/test.py b/test.py index 2575ab1..f41e74e 100755 --- a/test.py +++ b/test.py @@ -273,7 +273,7 @@ def run_profile(profile_name, source_dir, dest_dir): for case in SSH_CASES: flags = BASE_CLIENT_FLAGS + (["-M"] if case.get("use_metadata", True) else []) + case["flags"] ssh_dest = f"localhost:{dest_dir}_ssh" - cmd = client_prefix + BASE_CLIENT_CMD + [source_dir, ssh_dest] + flags + cmd = BASE_CLIENT_CMD + [source_dir, ssh_dest] + flags print(f"\n --- {case['name']} ---\n Running: {' '.join(cmd)}") try: r = run_single_test(cmd, case["name"], source_dir, f"{dest_dir}_ssh", no_server=True) @@ -281,7 +281,7 @@ def run_profile(profile_name, source_dir, dest_dir): results.append(r) except Exception as e: results.append({"name": case["name"], "suite": profile_name, "status": "Error", "time": "N/A", "error": str(e)}) - + port, conf, daemon = start_rsync_daemon(source_dir) try: for case in RSYNC_CASES: