Switch to memmove instead of sprintf
authorRobert Pengelly <robertapengelly@hotmail.com>
Fri, 14 Mar 2025 18:02:49 +0000 (18:02 +0000)
committerRobert Pengelly <robertapengelly@hotmail.com>
Fri, 14 Mar 2025 18:02:49 +0000 (18:02 +0000)
Makefile.unix
Makefile.w32
eval.c

index 94b09192a1e056243fd1eecd3fa71839ad4e15db..35cd61701d2ef9c4fc301fc9b3eaf6bdf661c82c 100644 (file)
@@ -1,13 +1,11 @@
 #******************************************************************************
 # @file             Makefile.unix
 #******************************************************************************
-OBJDIR              ?=  $(CURDIR)
 SRCDIR              ?=  $(CURDIR)
-
 VPATH               :=  $(SRCDIR)
 
 CC                  :=  gcc
-CFLAGS              :=  -D_FILE_OFFSET_BITS=64 -I$(OBJDIR) -I$(SRCDIR)/include -O2 -Wall -Werror -Wextra -ansi -pedantic -std=c90
+CFLAGS              :=  -D_FILE_OFFSET_BITS=64 -O2 -Wall -Werror -Wextra -ansi -pedantic -std=c90
 
 CSRC                :=  as.c bin.c cstr.c elks.c eval.c expr.c fixup.c frag.c hashtab.c intel.c kwd.c lex.c lib.c list.c listing.c ll.c macro.c process.c report.c section.c symbol.c vector.c
 
index b3fc6319b1e324270bf9d38bb1a9563354909541..533c7f0790ce0fb2d4a1fa45c313502bf79e740c 100644 (file)
@@ -1,13 +1,11 @@
 #******************************************************************************
 # @file             Makefile.w32
 #******************************************************************************
-OBJDIR              ?=  $(CURDIR)
 SRCDIR              ?=  $(CURDIR)
-
 VPATH               :=  $(SRCDIR)
 
 CC                  :=  gcc
-CFLAGS              :=  -D_FILE_OFFSET_BITS=64 -I$(OBJDIR) -I$(SRCDIR)/include -O2 -Wall -Werror -Wextra -ansi -pedantic -std=c90
+CFLAGS              :=  -D_FILE_OFFSET_BITS=64 -O2 -Wall -Werror -Wextra -ansi -pedantic -std=c90
 
 CSRC                :=  as.c bin.c cstr.c elks.c eval.c expr.c fixup.c frag.c hashtab.c intel.c kwd.c lex.c lib.c list.c listing.c ll.c macro.c process.c report.c section.c symbol.c vector.c
 
diff --git a/eval.c b/eval.c
index f0fd20e35b413b060f595615a5402f32fdafb1a9..7e4e0d9c5174a9d0fd2678f52bd1aafa8349d250 100644 (file)
--- a/eval.c
+++ b/eval.c
@@ -268,7 +268,8 @@ static unsigned int eval_unary (unsigned int lhs, char *start, char **pp) {
             (*pp)++;
         }
         
-        sprintf (caret, "%.*s", (int) (*pp - caret - 1), caret + 1);
+        memmove (caret, caret + 1, (*pp - caret) - 1);
+        *(caret + ((*pp - caret) - 1)) = '\0';
         
         lhs = eval_unary (lhs, start, &caret);
         lhs = eval_expr (lhs, start, &caret, 15);