X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fhelper%2Fioutil.c;h=a48879905a86734c637ca45834d1e765120774a9;hb=b61e454869c988e7fafc1c16982ccfec04415b51;hp=ba7e2155ac971986ee7210dd8f3501bbb70ed6c3;hpb=08d4411b59dd8bd0e7d8009003b71d23acbf6eee;p=openocd.git
diff --git a/src/helper/ioutil.c b/src/helper/ioutil.c
index ba7e2155ac..a48879905a 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. */
-int loadFile(const char *fileName, void **data, size_t *len)
+static int load_file(const char *fileName, char **data, size_t *len)
{
/* ensure returned length is always sane */
*len = 0;
@@ -98,8 +96,7 @@ int loadFile(const char *fileName, void **data, size_t *len)
fclose(pFile);
/* 0-byte after buffer (not included in *len) serves as a sentinel */
- char *buf = (char *)*data;
- buf[*len] = 0;
+ (*data)[*len] = 0;
return ERROR_OK;
}
@@ -111,12 +108,12 @@ COMMAND_HANDLER(handle_cat_command)
/* NOTE!!! we only have line printing capability so we print the entire file as a single
* line. */
- void *data;
+ 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", (char *)data);
+ command_print(CMD_CTX, "%s", data);
free(data);
} else
command_print(CMD_CTX, "%s not found", CMD_ARGV[0]);
@@ -196,10 +193,10 @@ COMMAND_HANDLER(handle_cp_command)
/* NOTE!!! we only have line printing capability so we print the entire file as a single
* line. */
- void *data;
+ 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;
@@ -214,7 +211,7 @@ COMMAND_HANDLER(handle_cp_command)
if (chunk > maxChunk)
chunk = maxChunk;
- if ((retval == ERROR_OK) && (fwrite(((char *)data) + pos, 1, chunk, f) != chunk))
+ if ((retval == ERROR_OK) && (fwrite(data + pos, 1, chunk, f) != chunk))
retval = ERROR_COMMAND_SYNTAX_ERROR;
if (retval != ERROR_OK)
@@ -244,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)
@@ -378,7 +264,7 @@ static int ioutil_Jim_Command_ls(Jim_Interp *interp,
return JIM_ERR;
}
- char *name = (char *) Jim_GetString(argv[1], NULL);
+ const char *name = Jim_GetString(argv[1], NULL);
DIR *dirp = NULL;
dirp = opendir(name);
@@ -586,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
{