From 6c01cdd3a73af1307ee1d241e1ca0726385f405b Mon Sep 17 00:00:00 2001
From: Etienne Brateau <etienne.brateau@ensiie.fr>
Date: Sun, 16 Dec 2018 20:39:35 +0100
Subject: [PATCH] Clean some files

---
 log/src/log.c              | 100 +++++-----------------------
 log/src/logsimed.c         |   5 +-
 psys/include/p2c/newasm.h  |  59 -----------------
 psys/include/p2c/newci.h   | 129 +------------------------------------
 psys/include/p2c/strings.h |   1 +
 psys/src/newci.c           |   2 +-
 psys/src/strings.c         |  15 +++++
 7 files changed, 35 insertions(+), 276 deletions(-)

diff --git a/log/src/log.c b/log/src/log.c
index 8306da0..63b349f 100644
--- a/log/src/log.c
+++ b/log/src/log.c
@@ -7026,19 +7026,18 @@ static void getgategroup(strlist_t *grp)
 
 static void showpinname(log_grec *g, short i, short c, char *name)
 {
-	short j, j2, x, y, w, y0, y1, y2;
+	short x, y, w, y0, y1, y2;
 	int small;
 	char buf[256];
-	short FORLIM;
 
 	if (zoom < 2)
 	{
 		*buf = '\0';
 		small = true;
-		FORLIM = strlen(name);
-		for (j = 0; j < FORLIM; j++)
+		size_t namelenght = strlen(name);
+		for (size_t j = 0; j < namelenght; j++)
 		{
-			j2 = strposc(nummap, name[j], 1L);
+			size_t j2 = strposc(nummap, name[j], 1L);
 			if (j2 > 0)
 				sprintf(buf + strlen(buf), "%c", j2 + 127);
 			else if (isupper(name[j]))
@@ -7283,27 +7282,14 @@ static void gatedefinitioncommand()
 /*=                                              =*/
 /*================================================*/
 
-static char *strreverse(char *Result, char *s)
-{
-	long i;
-	char s2[256];
-
-	*s2 = '\0';
-	for (i = strlen(s) - 1; i >= 0; i--)
-		sprintf(s2 + strlen(s2), "%c", s[i]);
-	return strcpy(Result, s2);
-}
-
-
 static librstrrec *findlibrstr(char *name_)
 {
-	char name[9];
-	librstrrec *lsp;
-	char STR1[256];
+	size_t name_length = strlen(name_);
+	char *name = malloc(sizeof(char) * name_length);
+
+	librstrrec *lsp = librstrs;
+	strreverse(name, name_);
 
-	strcpy(name, name_);
-	lsp = librstrs;
-	strcpy(name, strreverse(STR1, name));
 	while (lsp != NULL && strcmp(lsp->name, name))
 	{
 		if (strcmp(name, lsp->name) < 0)
@@ -7311,6 +7297,8 @@ static librstrrec *findlibrstr(char *name_)
 		else
 			lsp = lsp->right;
 	}
+
+	free(name);
 	return lsp;
 }
 
@@ -7789,37 +7777,6 @@ static void setvlsimode(int flag)
 		flag = false;
 	}
 
-	/*$if false$
-	  var
-	  i, j : log_shortint;
-	  begin
-	  remcursor;
-	  if flag and (ptrans = nil) then
-	  begin
-
-i := readlibrary('P');
-if i <> 0 then
-j := readlibrary('N');
-if (i = 0) or (j = 0) then
-flag := false
-else
-begin
-new(ptrans);
-ptrans^.g := i;
-ptrans^.info.proc := kind[ptrans^.g]^.proc;
-ptrans^.numpins := kind[ptrans^.g]^.numpins;
-for i := 1 to ptrans^.numpins do
-ptrans^.pin^[i] := nullnode;
-new(ntrans);
-ntrans^.g := j;
-ntrans^.info.proc := kind[ntrans^.g]^.proc;
-ntrans^.numpins := kind[ntrans^.g]^.numpins;
-for i := 1 to ntrans^.numpins do
-ntrans^.pin^[i] := nullnode;
-end;
-end;
-$end$*/
-
 	if (flag)
 		curwcolor = log_wcol_blue;
 	else
@@ -9225,9 +9182,9 @@ static void setgattr(log_grec *g, short num, char *value_)
 	short pg;
 	log_tool *saveacttool;
 
-	strcpy(value, value_);
 	if (num < 1 || num > g->kind->numattrs)
 		return;
+	strcpy(value, value_);
 	saveacttool = gg.acttool;
 	gg.actgate = g;
 	gg.actnode = NULL;
@@ -9285,7 +9242,7 @@ const fliparr flips = {
 
 static short doflip(short rot, short mode)
 {
-	return (flips[mode][rot]);
+	return flips[mode][rot];
 }
 
 
@@ -11987,8 +11944,6 @@ static void savepage(short pgnum, char *filename_)
 			if (n1->flag)
 			{
 				numnodes++;
-				/* n1^.temp.p := firstnode;
-firstnode := n1; */
 				if (lastnode != NULL)
 					lastnode->temp = (void *)n1;
 				else
@@ -13337,10 +13292,6 @@ static void loadcommand()
 			{
 				x = (gg.t.ax - 2) / 15;
 				y = gg.t.ay - 2;
-				/*  x := (gg.t.x-22) div 90;
-y := (gg.t.y-46) div 15;
-if gg.t.x < 22 then x := 0;
-if gg.t.y < 46 then y := 0; */
 				if (x < 0 || (unsigned)y > dirmax || x > dircol || dirs[x] == NULL || *dirs[x][y] == '\0')
 				{
 					x = -1;
@@ -14036,9 +13987,7 @@ static log_tool *counttool(long i)
 	return tp;
 }
 
-static char *onoff(Result, b)
-	char *Result;
-	int b;
+static char *onoff(char *Result, int b)
 {
 	if (b)
 		return strcpy(Result, "ON ");
@@ -14541,9 +14490,6 @@ static void popupmenu(short num)
 	popup_grid = (cursortype == grid);
 	remcursor();
 	clipoff();
-	/*  if menupicture <> nil then
-		m_disposepicture(menupicture);
-		m_getcpicture(kindgroupleft+1, baseline, kindgroupright-1, down, menupicture);  */
 	m_color((long)gg.color.backgr);
 	m_fillrect(kindgroupleft + 1L, (long)baseline, kindgroupright - 1L,
 			(long)down);
@@ -15348,15 +15294,6 @@ static void dofunction()
 		}
 		else if (!strcmp(gg.func, "TRAIN"))
 		{
-			/*  training := not training;
-				if training and firsttraining then
-				begin
-				gethelp('[Tutorial]');
-firsttraining := false;
-end;
-if not training then
-m_graphics_on;
-clearalpha;  */
 			clearfunc();
 		}
 		else if (!strcmp(gg.func, "STATUS"))
@@ -15562,20 +15499,15 @@ static void initmacros()
 
 static void newmenu(logmenurec **menu)
 {
-	short i;
-
 	*menu = (logmenurec *)Malloc(sizeof(logmenutype));
-	for (i = 0; i <= 7; i++)
+	for (short i = 0; i <= 7; i++)
 		*(*menu)[i].name = '\0';
 }
 
 
-
 static void initmenus()
 {
-	short i;
-
-	for (i = 0; i <= 3; i++)
+	for (short i = 0; i <= 3; i++)
 		newmenu(&popupmenus[i]);
 	definemenu(1, 1, "Box", "BOX", 0);
 	definemenu(1, 2, "Label", "LABEL", 0);
diff --git a/log/src/logsimed.c b/log/src/logsimed.c
index ee99fc3..0b93d67 100644
--- a/log/src/logsimed.c
+++ b/log/src/logsimed.c
@@ -1491,10 +1491,7 @@ struct LOC_edit_16 *LINK;
   nk_ungetkey(LINK->ch);
   pos = 1;
 
-/* p2c: logsimed.text, line 1282:
- * Warning: Type mismatch in VAR parameter term [295] */
-  newci_inputstring(s, im_keep, "\015\n\037\003\004",
-		    (char *)&LINK->ch, false, &pos);
+  newci_inputstring(s);
 }
 
 
diff --git a/psys/include/p2c/newasm.h b/psys/include/p2c/newasm.h
index 53d9bb8..a3c3344 100644
--- a/psys/include/p2c/newasm.h
+++ b/psys/include/p2c/newasm.h
@@ -1,13 +1,6 @@
-/* Header for module newasm, generated by p2c */
 #ifndef NEWASM_H
 #define NEWASM_H
 
-
-#define na_scale        65536L
-
-#define na_rbias        1023
-
-
 /*32 bits*/
 
 typedef union na_word {
@@ -28,59 +21,7 @@ typedef union na_word {
   char str[2];
 } na_word;
 
-typedef na_word na_wordarray[];
-
 typedef void* na_long;
-#define na_long na_longword
-
-typedef union na_long {
-  long i;
-  struct {
-    short i1, i2;
-  } U2;
-  struct {
-    short x, y;
-  } U3;
-  struct {
-    unsigned short u1, u2;
-  } U4;
-  struct {
-    char fill1;
-    signed int s3 : 24;
-  } U5;
-  struct {
-    uchar fill2;
-    unsigned u3 : 24;
-  } U6;
-  char c[4];
-  uchar ub[4];
-  long sb;
-  unsigned long b4;
-  unsigned long b2;
-  unsigned long b;
-  void* sr;
-  char str[4];
-  char *sp;
-  void* p;
-  double *rp;
-  na_word *wp;
-  union na_long *lp;
-  union na_quadword *qp;
-  struct na_strlist_t *sl;
-  char *cap;
-  na_word *wap;
-  union na_long *lap;
-  union na_quadword *qap;
-  struct {
-    unsigned sign : 1, mag : 31;
-  } U27;
-  long *setp;
-  struct {
-    na_word w1, w2;
-  } U99;
-} na_long;
-
-#undef na_long
 
 typedef union na_quadword {
   struct {
diff --git a/psys/include/p2c/newci.h b/psys/include/p2c/newci.h
index ffb4dbb..f6a18aa 100644
--- a/psys/include/p2c/newci.h
+++ b/psys/include/p2c/newci.h
@@ -8,20 +8,6 @@
 # define vextern extern
 #endif
 
-
-#define timers_userphase 0
-
-/*must be zero*/
-#define timers_idlephase 1
-#define timers_sysphase 2
-#define timers_diskphase 3
-
-
-
-/*user defined*/
-
-typedef char *newci_argarr[100001L];
-
 typedef struct newci_parserec {
 	char switch_[4];
 	size_t used;
@@ -30,139 +16,26 @@ typedef struct newci_parserec {
 		long i;
 		double r;
 		char *s;
-		_PROCEDURE p;
-		_PROCEDURE p1;
 	} UU;
 } newci_parserec;
 
-typedef struct newci_fshandle {
-	long a;
-	long b;
-} newci_fshandle;
-
-typedef enum {
-	im_normal, im_keep, im_default, im_key, im_grab
-} newci_imode;
-
-typedef struct timers_desc {
-	long rate;
-	_PROCEDURE proc;
-	long count;
-	int perm;
-	struct timers_desc *next;
-	void **user;
-} timers_desc;
-
-#define newci_exitescapecode 18346
-
-
-vextern _PROCEDURE newci_progentryhook;
-vextern _PROCEDURE newci_progexithook;
 extern int P_argc;
 extern char **P_argv;
-vextern char *newci_programname;
-vextern char *newci_programargs;
-vextern int newci_rediroutput, newci_redirinput;
-vextern char newci_inputhighlight;
-vextern int newci_markuserflag, newci_ucfilenames, newci_verbose;
-vextern short newci_errorcode;
-vextern char *newci_shellname;
-vextern int newci_shellflag, respond_flag, respond_enable;
-vextern long newci_exitcode;
-vextern _PROCEDURE newci_checkrespondhook;
-vextern short timers_phase, timers_permphase;
-vextern long timers_clocks[16];
-vextern FILE **newci_stdterm;
-
-
 
-//extern FILE **newci_stdin ();
-//extern FILE **newci_stdout ();
-//extern FILE **newci_stderr ();
-//extern void newci_parseargs (char *s);
 extern void newci_parseswitch (newci_parserec *tab, size_t size, char *bad);
 extern void newci_eatargument ();
 extern void newci_fixfname (char *s, char *ext, char *home);
 extern void newci_forcefname (char *s, char *ext, char *home);
-//extern void newci_chainprogram (char *name);
-//extern void newci_markprogram (long *id);
-//extern void newci_loadprogram (char *name);
-//extern void newci_reloadprogram (char *name);
-//extern void newci_releaseprogram (long *id);
-//extern void newci_runprogram (char *name);
-//extern void newci_shellrunprogram (char *name, int debugging);
-//extern void newci_basicrunprogram (char *name, int debugging);
 extern void newci_shellescape (char *args);
 extern void newci_fullshellescape (char *args, char *opts);
 extern void newci_fulleditescape (char *fn, char *opts, long ln, long pos);
-//extern void newci_permanentprogram ();
-//extern void newci_unpermanentprogram ();
-//extern void newci_recursiveprogram ();
-//extern void newci_flushexecutionbits ();
-//extern void newci_getenv (char *variable, char *value, int *exists);
-//extern int newci_canreleaseprogram (long id);
-//extern void newci_exit (long code);
-//extern void newci_assert (int flag, char *msg);
-//extern void newci_ferror (char *msg);
-//extern void newci_merror (char *s, char *msg);
-//extern char *newci_showerror (char *newci_Result, char *msg);
-//extern void newci_fescape (long esc, long ior, char *msg);
-//extern void newci_mescape (char *s, long esc, long ior, char *msg);
-//extern char *newci_showescape (char *newci_Result, long esc, long ior,
-//				  char *msg);
 extern void newci_nullrecover ();
-//extern void newci_reescape ();
-//extern void newci_checkior ();
-//extern void newci_iorecover ();
-//extern void* *newci_findsymbol (char *name);
 
-
-/*case sensitive*/
-//extern void newci_initfindsymbol2 (newci_fshandle *handle);
-//extern void* *newci_findsymbol2 (char *suffix, newci_fshandle *handle,
-//				     char *name);
-//extern int newci_findprogram (char *name);
-//extern int newci_findprocedure (char *name, _PROCEDURE *start);
-//extern int newci_findprocedure2 (char *name, _PROCEDURE *start);
-//extern void* *newci_findglobal (char *name, long offset);
-//extern void newci_findabove (long *addr, char *name);
-//extern void newci_findbelow (long *addr, char *name);
-//extern void push_var (long *v);
-
-/*also records, arrays*/
-//extern void push_varstr (char *s);
-//extern void push_boolean (int b);
-//extern void push_char (int c);
-//extern void push_shortint (long i);
-
-/*also enumerated types, with ord()*/
-//extern void push_ptr (void* *p);
-//extern void push_integer (long i);
-//extern void push_real (double r);
-//extern void push_string (char *s);
-//extern void newci_callfunction (_PROCEDURE start, long *ret, long retsize);
-//extern int newci_callboolean (_PROCEDURE start);
-//extern void newci_inputbegin ();
 extern void newci_inputmap ();
 extern void newci_inputunmap ();
-extern void newci_inputstring (char *s, int mode, char *possterm, char *term, int echoterm, long *pos);
-//extern void newci_addrecallstr (char *s);
-//extern void interrupt_input (int ch);
-//extern void newci_streamopen (char *sfile, int report);
-//extern void newci_streamclose ();
-//extern void check_respond ();
-//extern void timers_add (timers_desc *t);
-//extern void timers_addperm (timers_desc *t);
-//extern void timers_remove (timers_desc *t);
+extern void newci_inputstring (char *s);
 extern long timers_sysclock ();
-//extern void timers_refreshclock ();
-//extern void timers_clockon ();
-//extern void timers_clockoff ();
-//extern void timers_setalarm (long hour, long min);
 extern long newci_fullseconds ();
-//extern void newci_fulltime (long *sec, long *csec);
-//extern long newci_dayofweek ();
-
 
 #undef vextern
 
diff --git a/psys/include/p2c/strings.h b/psys/include/p2c/strings.h
index 966eee4..165dd74 100644
--- a/psys/include/p2c/strings.h
+++ b/psys/include/p2c/strings.h
@@ -15,6 +15,7 @@ extern char *strupper (char *result, char *s);
 extern char *strlower (char *result, char *s);
 extern char *strpart (char *result, char *s, long fist, long last);
 extern char *strlast (char *result, char *s, size_t num);
+extern char *strreverse (char *result, char*);
 //extern char *strljust (char *result, char *s, long wid);
 //extern char *strrjust (char *result, char *s, long wid);
 extern char *strcjust (char *result, char *s, size_t wid);
diff --git a/psys/src/newci.c b/psys/src/newci.c
index 86ded32..6b3c2d1 100644
--- a/psys/src/newci.c
+++ b/psys/src/newci.c
@@ -18,7 +18,7 @@
 
 
 /*  This procedure should be made to do something real. */
-void newci_inputstring(char *s, int mode, char *possterm, char *term, int echoterm, long *pos)
+void newci_inputstring(char *s)
 {
 	char buf[1024];
 	char *cp;
diff --git a/psys/src/strings.c b/psys/src/strings.c
index 82fdbea..03b5a50 100644
--- a/psys/src/strings.c
+++ b/psys/src/strings.c
@@ -31,6 +31,21 @@ char *strlower(char *result, char *s)
 	return result;
 }
 
+char *strreverse(char *result, char *s)
+{
+	size_t len = strlen(s) + 1;
+	char *tmp = malloc(sizeof(char) * len);
+
+	tmp[len] = '\0';
+	for (size_t i = 0; i < len; i++)
+	{
+		tmp[i] = s[len - i];
+	}
+	strcpy(result, tmp);
+	free(tmp);
+	return result;
+}
+
 char *strpart(char *result, char *s, long first, long last)
 {
 	return strsub(result, s, first, last-first+1);
-- 
GitLab