r = write(fd, chunk, trans_unit_size);
if (r != trans_unit_size) {
- if (r > 0)
- fprintf(stderr, "line %d: %d bytes requested, %d written\n",
- __LINE__, trans_unit_size, r);
- fprintf(stderr, "line %d: failed to send data\n", __LINE__);
+ if (opt_verbose) {
+ if (r > 0)
+ fprintf(stderr, "line %d: %d bytes requested, %d written\n",
+ __LINE__, trans_unit_size, r);
+ fprintf(stderr, "line %d: failed to send data\n", __LINE__);
+ }
free(chunk);
return -1;
}
memcpy(pres, &resp, RES_PKT_SIZE);
if (resp.ack != 0) {
- fprintf(stderr, "line %d: ack reports fail. ack = %d\n",
- __LINE__, resp.ack);
- return -1;
+ if (opt_verbose) {
+ fprintf(stderr, "\x1b[0;31;1mMissmatch\x1b[0m\n");
+ fprintf(stderr, "line %d: ack reports fail. ack = %d\n",
+ __LINE__, resp.ack);
+ } else {
+ fprintf(stderr, "\x1b[1A\x1b[16C\x1b[0;31;1mMissmatch\x1b[0m\n");
+ }
+ return -2;
}
return resp.ack;
r = send_request_timeout(fd, RQT_DL, RQT_DL_FILE_INFO, int_data, 2,
(char **)&filename, 1, &resp, DEFAULT_TIMEOUT);
if (r < 0) {
- fprintf(stderr, "RQT_DL_FILE_INFO, status = %08x\n", r);
- return -1;
+ if (opt_verbose)
+ fprintf(stderr, "RQT_DL_FILE_INFO, status = %08x\n", r);
+ return r;
}
trans_unit_size = resp.int_data[0];
printf("[\x1b[0;32;1m%s\x1b[0m]\n", filename);
r = download_single_file(fd, &tardata.src, BINARY_TYPE_NORMAL);
- if (r < 0) {
+ if (r == -1) {
fprintf(stderr, "line %d: failed to download %s\n", __LINE__, filename);
fprintf(stderr, "\nIn some cases, lthor needs enough memory\n");
fprintf(stderr, "Please check free memory in your Host PC ");
tardata_close(&tardata);
- return r;
+ return 0;
}
int process_download(const char *portname, const char *pitfile, char **tarfilelist)