X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fhelper%2Fioutil.c;h=d4f39e242b2bd6086843f4b099ac910af1c34b40;hb=6cb5ba6f1136df2986850f5c176cb38e34ca1795;hp=166256c7dc714dbf09c9a2faeeed70d7765189a7;hpb=0dcfa4d26a365279edc51bdda4c8c99d077f6c02;p=openocd.git diff --git a/src/helper/ioutil.c b/src/helper/ioutil.c index 166256c7dc..d4f39e242b 100644 --- a/src/helper/ioutil.c +++ b/src/helper/ioutil.c @@ -12,9 +12,7 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * + * along with this program. If not, see . * ***************************************************************************/ /* this file contains various functionality useful to standalone systems */ @@ -115,10 +113,10 @@ COMMAND_HANDLER(handle_cat_command) int retval = load_file(CMD_ARGV[0], &data, &len); if (retval == ERROR_OK) { - command_print(CMD_CTX, "%s", data); + command_print(CMD, "%s", data); free(data); } else - command_print(CMD_CTX, "%s not found", CMD_ARGV[0]); + command_print(CMD, "%s not found", CMD_ARGV[0]); return ERROR_OK; } @@ -148,10 +146,10 @@ COMMAND_HANDLER(handle_meminfo_command) info = mallinfo(); if (prev > 0) - command_print(CMD_CTX, "Diff: %d", prev - info.fordblks); + command_print(CMD, "Diff: %d", prev - info.fordblks); prev = info.fordblks; - command_print(CMD_CTX, "Available ram: %d", info.fordblks); + command_print(CMD, "Available ram: %d", info.fordblks); return ERROR_OK; } @@ -219,7 +217,7 @@ COMMAND_HANDLER(handle_cp_command) if (retval != ERROR_OK) break; - command_print(CMD_CTX, "%zu", len - pos); + command_print(CMD, "%zu", len - pos); pos += chunk; @@ -228,9 +226,9 @@ COMMAND_HANDLER(handle_cp_command) } if (retval == ERROR_OK) - command_print(CMD_CTX, "Copied %s to %s", CMD_ARGV[0], CMD_ARGV[1]); + command_print(CMD, "Copied %s to %s", CMD_ARGV[0], CMD_ARGV[1]); else - command_print(CMD_CTX, "copy failed"); + command_print(CMD, "copy failed"); if (data != NULL) free(data); @@ -243,117 +241,6 @@ COMMAND_HANDLER(handle_cp_command) return retval; } -#define SHOW_RESULT(a, b) LOG_ERROR(# a " failed %d\n", (int)b) - -#define IOSIZE 512 -void copyfile(char *name2, char *name1) -{ - - int err; - char buf[IOSIZE]; - int fd1, fd2; - ssize_t done, wrote; - - fd1 = open(name1, O_WRONLY | O_CREAT, 0664); - if (fd1 < 0) - SHOW_RESULT(open, fd1); - - fd2 = open(name2, O_RDONLY); - if (fd2 < 0) - SHOW_RESULT(open, fd2); - - for (;; ) { - done = read(fd2, buf, IOSIZE); - if (done < 0) { - SHOW_RESULT(read, done); - break; - } - - if (done == 0) - break; - - wrote = write(fd1, buf, done); - if (wrote != done) - SHOW_RESULT(write, wrote); - - if (wrote != done) - break; - } - - err = close(fd1); - if (err < 0) - SHOW_RESULT(close, err); - - err = close(fd2); - if (err < 0) - SHOW_RESULT(close, err); -} - -/* utility fn to copy a directory */ -void copydir(char *name, char *destdir) -{ - int err; - DIR *dirp; - - dirp = opendir(destdir); - if (dirp == NULL) - mkdir(destdir, 0777); - else - err = closedir(dirp); - - dirp = opendir(name); - if (dirp == NULL) - SHOW_RESULT(opendir, -1); - - for (;; ) { - struct dirent *entry = readdir(dirp); - - if (entry == NULL) - break; - - if (strcmp(entry->d_name, ".") == 0) - continue; - if (strcmp(entry->d_name, "..") == 0) - continue; - - int isDir = 0; - struct stat buf; - char fullPath[PATH_MAX]; - strncpy(fullPath, name, PATH_MAX); - strcat(fullPath, "/"); - strncat(fullPath, entry->d_name, PATH_MAX - strlen(fullPath)); - - if (stat(fullPath, &buf) == -1) { - LOG_ERROR("unable to read status from %s", fullPath); - break; - } - isDir = S_ISDIR(buf.st_mode) != 0; - - if (isDir) - continue; - - /* diag_printf(": entry %14s",entry->d_name); */ - char fullname[PATH_MAX]; - char fullname2[PATH_MAX]; - - strcpy(fullname, name); - strcat(fullname, "/"); - strcat(fullname, entry->d_name); - - strcpy(fullname2, destdir); - strcat(fullname2, "/"); - strcat(fullname2, entry->d_name); - /* diag_printf("from %s to %s\n", fullname, fullname2); */ - copyfile(fullname, fullname2); - - /* diag_printf("\n"); */ - } - - err = closedir(dirp); - if (err < 0) - SHOW_RESULT(stat, err); -} - COMMAND_HANDLER(handle_rm_command) { if (CMD_ARGC != 1) @@ -585,6 +472,7 @@ static const struct command_registration ioutil_command_handlers[] = { .handler = handle_meminfo_command, .mode = COMMAND_ANY, .help = "display free heap space", + .usage = "", }, #endif {