aboutsummaryrefslogtreecommitdiffstats
path: root/src/cmd-version.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd-version.c')
-rw-r--r--src/cmd-version.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/cmd-version.c b/src/cmd-version.c
index 62baa3f..260be7d 100644
--- a/src/cmd-version.c
+++ b/src/cmd-version.c
@@ -2,21 +2,40 @@
#include "commands.h"
#include "digest/digest.h"
#include "version.h"
+#include "l2su.h"
+#include "macros.h"
#include <stdio.h>
unsigned cmd_version_list_remote(struct l2_context_node *ctx, char **args)
{
- printf("%s\n", l2_version_strerror(l2_version_load_remote()));
+ unsigned res;
+ L2_UNUSED(ctx);
+
+ if (*args) {
+ CMD_FATAL(CMD_MSG_UNKNOWN_ARGUMENT, *args);
+ }
+
+ res = l2_version_load_remote();
+ if (res != VERSION_SUCCESS) {
+ CMD_FATAL("Failed to load versions: %s", l2_version_strerror(res));
+ }
+
+ for (struct l2_version_remote *rv = l2_state.ver_remote_head; rv; rv = rv->next) {
+ printf("%s\n", rv->id);
+ }
+
return CMD_RESULT_SUCCESS;
}
unsigned cmd_version_list_local(struct l2_context_node *ctx, char **args)
{
+
return CMD_RESULT_SUCCESS;
}
unsigned cmd_version_install(struct l2_context_node *ctx, char **args)
{
+
return CMD_RESULT_SUCCESS;
}