X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fhelper%2Fioutil.c;h=f1123cd82d5db25649f5d86956f6cb60058d17ff;hb=674141e8a7a6413cb803d90c2a20150260015f81;hp=55319004b87bd5a554f7ddf46dece9230a9954a2;hpb=e6733049224ea7becbc4f0e82f2d75e6393712f1;p=openocd.git diff --git a/src/helper/ioutil.c b/src/helper/ioutil.c index 55319004b8..f1123cd82d 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 */ @@ -53,7 +51,7 @@ /* loads a file and returns a pointer to it in memory. The file contains * a 0 byte(sentinel) after len bytes - the length of the file. */ -static int loadFile(const char *fileName, char **data, size_t *len) +static int load_file(const char *fileName, char **data, size_t *len) { /* ensure returned length is always sane */ *len = 0; @@ -113,7 +111,7 @@ COMMAND_HANDLER(handle_cat_command) char *data; size_t len; - int retval = loadFile(CMD_ARGV[0], &data, &len); + int retval = load_file(CMD_ARGV[0], &data, &len); if (retval == ERROR_OK) { command_print(CMD_CTX, "%s", data); free(data); @@ -198,7 +196,7 @@ COMMAND_HANDLER(handle_cp_command) char *data; size_t len; - int retval = loadFile(CMD_ARGV[0], &data, &len); + int retval = load_file(CMD_ARGV[0], &data, &len); if (retval != ERROR_OK) return retval; @@ -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)