return 1;
}
- if (access(args->filename, R_OK) == -1) {
+ if (strcmp(args->filename, "-") && access(args->filename, R_OK) == -1) {
fprintf(stderr, "Error accessing file '%s'.\n", args->filename);
return 1;
}
break;
}
- if (!args->tftpcmd) {
- printf("Uploading %s ... ", args->filename);
- fflush(stdout);
- err = tftp_put(args);
- } else {
- printf("Running %s ... ", args->tftpcmd);
+ err = 0;
+
+ if (args->tftpcmd) {
+ printf("Executing '%s' ... ", args->tftpcmd);
fflush(stdout);
err = system(args->tftpcmd);
+ if (!err) {
+ printf("OK\n");
+ } else {
+ printf("ERR\n");
+ }
+ }
+
+ if (!err && args->filename) {
+ if (!strcmp(args->filename, "-")) {
+ printf("Uploading from stdin ... ");
+ } else {
+ printf("Uploading %s ... ", args->filename);
+ }
+ fflush(stdout);
+ err = tftp_put(args);
}
if (!err) {
err = 0;
+ printf("Reboot your device now.\n");
+
out:
signal(SIGINT, sigh_orig);
gsock = NULL;