int batchsize = 0;
size_t len = 0;
int ret = 0;
+ int err;
bool send;
batch_mode = 1;
continue; /* blank line */
}
- ret = do_cmd(largc, largv, tail == NULL ? NULL : tail->buf,
+ err = do_cmd(largc, largv, tail == NULL ? NULL : tail->buf,
tail == NULL ? 0 : sizeof(tail->buf));
- if (ret != 0) {
+ if (err != 0) {
fprintf(stderr, "Command failed %s:%d\n", name,
cmdlineno - 1);
ret = 1;
iov->iov_len = n->nlmsg_len;
}
- ret = rtnl_talk_iov(&rth, iovs, batchsize, NULL);
- if (ret < 0) {
+ err = rtnl_talk_iov(&rth, iovs, batchsize, NULL);
+ put_batch_bufs(&buf_pool, &head, &tail);
+ free(iovs);
+ if (err < 0) {
fprintf(stderr, "Command failed %s:%d\n", name,
- cmdlineno - (batchsize + ret) - 1);
- return 2;
+ cmdlineno - (batchsize + err) - 1);
+ ret = 1;
+ if (!force)
+ break;
}
- put_batch_bufs(&buf_pool, &head, &tail);
batchsize = 0;
- free(iovs);
}
} while (!lastline);