*/
#include "rdma.h"
-#include "SNAPSHOT.h"
+#include "version.h"
#include "color.h"
static void help(char *name)
return rd_exec_cmd(rd, cmds, "object");
}
-static int rd_batch(struct rd *rd, const char *name, bool force)
+static int rd_batch_cmd(int argc, char *argv[], void *data)
{
- char *line = NULL;
- size_t len = 0;
- int ret = 0;
-
- if (name && strcmp(name, "-") != 0) {
- if (!freopen(name, "r", stdin)) {
- pr_err("Cannot open file \"%s\" for reading: %s\n",
- name, strerror(errno));
- return errno;
- }
- }
+ struct rd *rd = data;
- cmdlineno = 0;
- while (getcmdline(&line, &len, stdin) != -1) {
- char *largv[512];
- int largc;
-
- largc = makeargs(line, largv, ARRAY_SIZE(largv));
- if (!largc)
- continue; /* blank line */
-
- ret = rd_cmd(rd, largc, largv);
- if (ret) {
- pr_err("Command failed %s:%d\n", name, cmdlineno);
- if (!force)
- break;
- }
- }
-
- free(line);
+ return rd_cmd(rd, argc, argv);
+}
- return ret;
+static int rd_batch(struct rd *rd, const char *name, bool force)
+{
+ return do_batch(name, force, rd_batch_cmd, rd);
}
static int rd_init(struct rd *rd, char *filename)
long_options, NULL)) >= 0) {
switch (opt) {
case 'V':
- printf("%s utility, iproute2-ss%s\n",
- filename, SNAPSHOT);
+ printf("%s utility, iproute2-%s\n",
+ filename, version);
return EXIT_SUCCESS;
case 'p':
pretty = 1;