[v3,06/14] sim/erc32: Fix a few compiler warnings

Message ID 1425244244-27709-7-git-send-email-jiri@gaisler.se
State Superseded
Headers

Commit Message

Jiri Gaisler March 1, 2015, 9:10 p.m. UTC
  * func.c Minor edits to remove compiler warnings.
	* func.c, sis.h (exec_cmd) make second argument const char.
---
 sim/erc32/func.c | 9 ++++++---
 sim/erc32/sis.h  | 3 +--
 2 files changed, 7 insertions(+), 5 deletions(-)
  

Comments

Mike Frysinger March 2, 2015, 1:18 a.m. UTC | #1
On 01 Mar 2015 22:10, Jiri Gaisler wrote:
> --- a/sim/erc32/sis.h
> +++ b/sim/erc32/sis.h
>
>  extern void	reset_all (void);
>  extern void	sys_reset (void);
>  extern void	sys_halt (void);
> -extern int	bfd_load (char *fname);
>  extern double	get_time (void);

this patch fixes up exec_cmd and that looks fine.  this one change is
unrelated ?
-mike
  

Patch

diff --git a/sim/erc32/func.c b/sim/erc32/func.c
index 69d11fe..82c0deb 100644
--- a/sim/erc32/func.c
+++ b/sim/erc32/func.c
@@ -381,18 +381,19 @@  limcalc (freq)
     
 int
 exec_cmd(sregs, cmd)
-    char           *cmd;
+    const char *cmd;
     struct pstate  *sregs;
 {
     char           *cmd1, *cmd2;
     int32           stat;
     uint32          len, i, clen, j, tmp;
     static uint32   daddr = 0;
-    char           *cmdsave;
+    char           *cmdsave, *cmdsave2 = NULL;
 
     stat = OK;
     cmdsave = strdup(cmd);
-    if ((cmd1 = strtok(cmd, " \t")) != NULL) {
+    cmdsave2 = strdup(cmd);
+    if ((cmd1 = strtok(cmdsave2, " \t")) != NULL) {
 	clen = strlen(cmd1);
 	if (strncmp(cmd1, "bp", clen) == 0) {
 	    for (i = 0; i < sregs->bptnum; i++) {
@@ -609,6 +610,8 @@  exec_cmd(sregs, cmd)
 	} else
 	    printf("syntax error\n");
     }
+    if (cmdsave2 != NULL)
+	free(cmdsave2);
     if (cmdsave != NULL)
 	free(cmdsave);
     return (stat);
diff --git a/sim/erc32/sis.h b/sim/erc32/sis.h
index 95c7858..742d2d8 100644
--- a/sim/erc32/sis.h
+++ b/sim/erc32/sis.h
@@ -184,7 +184,7 @@  extern struct pstate  sregs;
 extern void	set_regi (struct pstate *sregs, int32 reg,
 			  uint32 rval);
 extern void	get_regi (struct pstate *sregs, int32 reg, char *buf);
-extern int	exec_cmd (struct pstate *sregs, char *cmd);
+extern int	exec_cmd (struct pstate *sregs, const char *cmd);
 extern void	reset_stat (struct pstate  *sregs);
 extern void	show_stat (struct pstate  *sregs);
 extern void	init_bpt (struct pstate  *sregs);
@@ -202,7 +202,6 @@  extern int	check_bpt (struct pstate *sregs);
 extern void	reset_all (void);
 extern void	sys_reset (void);
 extern void	sys_halt (void);
-extern int	bfd_load (char *fname);
 extern double	get_time (void);
 
 /* exec.c */