oddsocks 418152f
--- AGReader/Sources/Text.h.gcc41	2001-12-05 21:42:45.000000000 +0100
oddsocks 418152f
+++ AGReader/Sources/Text.h	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -21,4 +21,6 @@
oddsocks 418152f
 /** Create a AGFile directly from a char stream **/
oddsocks 418152f
 AGFile CreateTextFromStream(char *stream, char *title);
oddsocks 418152f
 
oddsocks 418152f
+void AdjustColors(AGNode node);
oddsocks 418152f
+
oddsocks 418152f
 #endif
oddsocks 418152f
--- AGReader/Sources/Text.c.gcc41	2001-12-05 22:10:33.000000000 +0100
oddsocks 418152f
+++ AGReader/Sources/Text.c	2006-05-27 10:53:25.000000000 +0200
oddsocks 418152f
@@ -8,6 +8,7 @@
oddsocks 418152f
 #include "AGNodes.h"
oddsocks 418152f
 #include "AGObj.h"
oddsocks 418152f
 #include "Text.h"
oddsocks 418152f
+#include "Input.h"
oddsocks 418152f
 
oddsocks 418152f
 /** Redefines only functions that differs from AG_lib.c **/
oddsocks 418152f
 
oddsocks 418152f
@@ -15,11 +16,11 @@
oddsocks 418152f
 AGFile CreateTextNodes(char *filename)
oddsocks 418152f
 {
oddsocks 418152f
 	AGFile new;
oddsocks 418152f
-	if( new = CreateFile( filename ) )
oddsocks 418152f
+	if( (new = CreateFile( filename )) )
oddsocks 418152f
 	{
oddsocks 418152f
 		AGNode node;
oddsocks 418152f
 		/* Only one node is defined for text file */
oddsocks 418152f
-		if( (AGNode) new->Content = node = (AGNode) malloc(sizeof(*node)) )
oddsocks 418152f
+		if( (new->Content = (AGList)(node = (AGNode) malloc(sizeof(*node)))) )
oddsocks 418152f
 		{
oddsocks 418152f
 			memset(node, 0, sizeof(*node));
oddsocks 418152f
 			node->name  = "MAIN";
oddsocks 418152f
@@ -45,7 +46,7 @@
oddsocks 418152f
 {
oddsocks 418152f
 	AGFile new;
oddsocks 418152f
 
oddsocks 418152f
-	if( new = CreateTextNodes( NULL ) )
oddsocks 418152f
+	if( (new = CreateTextNodes( NULL )) )
oddsocks 418152f
 	{
oddsocks 418152f
 		AGNode node = (AGNode) new->Content;
oddsocks 418152f
 		node->start = new->Buffer = stream;
oddsocks 418152f
@@ -102,7 +103,6 @@
oddsocks 418152f
 	static AGPara par;
oddsocks 418152f
 	static AGWord new;
oddsocks 418152f
 	char  *buf, *p;
oddsocks 418152f
-	long   nb;
oddsocks 418152f
 
oddsocks 418152f
 	InitContext(&AGC, JM_NORMAL);
oddsocks 418152f
 	/* Alloc a first paragraph */
oddsocks 418152f
--- /dev/null	2006-05-27 07:46:48.810857750 +0200
oddsocks 418152f
+++ AGReader/Sources/Input.h	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -0,0 +1,11 @@
oddsocks 418152f
+#ifndef	INPUT_H
oddsocks 418152f
+#define	INPUT_H
oddsocks 418152f
+
oddsocks 418152f
+#include "AGNodes.h"
oddsocks 418152f
+
oddsocks 418152f
+void Prompt( char *str );
oddsocks 418152f
+void SetTopLine( AGNode node );
oddsocks 418152f
+void ThrowError(char *msg, char *param);
oddsocks 418152f
+void ProcessKeys( void );
oddsocks 418152f
+
oddsocks 418152f
+#endif
oddsocks 418152f
--- AGReader/Sources/AGNodes.h.gcc41	2001-12-05 21:48:46.000000000 +0100
oddsocks 418152f
+++ AGReader/Sources/AGNodes.h	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -124,8 +124,10 @@
oddsocks 418152f
 char   tabstop(short pos);				/* Amount of spaces to add to reach tabstop  */
oddsocks 418152f
 
oddsocks 418152f
 void   RenderAGNode(AGPara, short nbl, short left, short wid, char mode);
oddsocks 418152f
+void   RenderLine(AGPara para, short start, short max, char ins_mode);
oddsocks 418152f
 void   ScrollDisplay(struct scrpos *, short pos);
oddsocks 418152f
 void   AGFileInfo(AGFile, char *obj, char *objs);
oddsocks 418152f
+char  *FindAGLinkInfo(AGLink link, char *format);
oddsocks 418152f
 
oddsocks 418152f
 /*** Special character may trashed the display ***/
oddsocks 418152f
 AGWord DisableSpecialChar(AGPara par,AGWord old, unsigned char);
oddsocks 418152f
--- AGReader/Sources/Input.c.gcc41	2001-07-14 15:13:34.000000000 +0200
oddsocks 418152f
+++ AGReader/Sources/Input.c	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -3,11 +3,13 @@
oddsocks 418152f
 **          by T.Pierron, 11/9/2000, free software **
oddsocks 418152f
 ****************************************************/
oddsocks 418152f
 
oddsocks 418152f
+#include <string.h>
oddsocks 418152f
 #include "AGReader.h"
oddsocks 418152f
 #include "AGNodes.h"
oddsocks 418152f
 #include "Navig.h"
oddsocks 418152f
 #include "IO_tty.h"
oddsocks 418152f
 #include "Help.h"
oddsocks 418152f
+#include "Text.h"
oddsocks 418152f
 
oddsocks 418152f
 static char InfDisp = 0;			/* 1 if information screen is displayed */
oddsocks 418152f
 static char TmpBuf[80];				/* Buffer used for various output */
oddsocks 418152f
@@ -32,7 +34,7 @@
oddsocks 418152f
 
oddsocks 418152f
 		printf("?[%d;H?[0;7m%4d%%%*s?[0m?[%d;6H",
oddsocks 418152f
 				terminfo.height,(node && node->maxlines > terminfo.height ?
oddsocks 418152f
-				(100 * node->line) / (node->maxlines-terminfo.height+1) : 100),
oddsocks 418152f
+				(100 * node->line) / ((int)node->maxlines-terminfo.height+1) : 100),
oddsocks 418152f
 				terminfo.width-5,str,terminfo.height
oddsocks 418152f
 		);
oddsocks 418152f
 		if( svg[0] ) memcpy(str + plen, svg, 2);
oddsocks 418152f
@@ -81,6 +83,7 @@
oddsocks 418152f
 void ThrowError(char *msg, char *param)
oddsocks 418152f
 {
oddsocks 418152f
 	char *d, *s;
oddsocks 418152f
+	int i; /* silence warnings */
oddsocks 418152f
 
oddsocks 418152f
 	/* Frequently error message encountered */
oddsocks 418152f
 	if(msg == ERROR_NO_FREE_STORE) msg = "Not enough memory!";
oddsocks 418152f
@@ -95,7 +98,7 @@
oddsocks 418152f
 	/* If GUI isn't already set, display on stderr */
oddsocks 418152f
 	if( is_rawmode() ) *d='\0',Prompt(TmpBuf);
oddsocks 418152f
 	else /* fputs doesn't write any \n */
oddsocks 418152f
-		*d++='\n',write(2,TmpBuf,d-TmpBuf);
oddsocks 418152f
+		*d++='\n',i=write(2,TmpBuf,d-TmpBuf);
oddsocks 418152f
 }
oddsocks 418152f
 
oddsocks 418152f
 /*** Toggle display between node and information ***/
oddsocks 418152f
@@ -106,7 +109,7 @@
oddsocks 418152f
 	if( InfDisp ) inf->node = old;
oddsocks 418152f
 	else
oddsocks 418152f
 		/* The node may not yet exists */
oddsocks 418152f
-		if(strinfo = (AGList) FindAGNode(inf->file, STR_INFONAME))
oddsocks 418152f
+		if( (strinfo = (AGList) FindAGNode(inf->file, STR_INFONAME)) )
oddsocks 418152f
 			old = inf->node, inf->node = strinfo;
oddsocks 418152f
 		else return;
oddsocks 418152f
 
oddsocks 418152f
@@ -266,7 +269,7 @@
oddsocks 418152f
 				case '=':
oddsocks 418152f
 					/* Display line statistics */
oddsocks 418152f
 					sprintf(TmpBuf,"line %d of %d ",AGNODE(&terminfo)->line+1,
oddsocks 418152f
-					        AGNODE(&terminfo)->maxlines);
oddsocks 418152f
+					        (int)AGNODE(&terminfo)->maxlines);
oddsocks 418152f
 					Prompt(TmpBuf);
oddsocks 418152f
 					break;
oddsocks 418152f
 				case 'b': case 'B':
oddsocks 418152f
--- AGReader/Sources/Navig.h.gcc41	2001-10-15 12:47:01.000000000 +0200
oddsocks 418152f
+++ AGReader/Sources/Navig.h	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -30,6 +30,8 @@
oddsocks 418152f
 /** Search for node/file pointed by link and display it **/
oddsocks 418152f
 int  Navigate( char *GuideName, AGLink );
oddsocks 418152f
 
oddsocks 418152f
+void SetActiveLine( AGNode node );
oddsocks 418152f
+
oddsocks 418152f
 /** Function use to create file / node **/
oddsocks 418152f
 typedef AGFile (*pfnCreateNodes)( char *path );
oddsocks 418152f
 typedef char   (*pfnCreateWords)( AGNode node );
oddsocks 418152f
--- AGReader/Sources/AGReader.h.gcc41	2001-03-21 11:28:39.000000000 +0100
oddsocks 418152f
+++ AGReader/Sources/AGReader.h	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -60,5 +60,7 @@
oddsocks 418152f
 #define	QUIT_OK				0
oddsocks 418152f
 #define	QUIT_ERROR			1
oddsocks 418152f
 
oddsocks 418152f
+void quit(char *msg, int status);
oddsocks 418152f
+
oddsocks 418152f
 #endif
oddsocks 418152f
 
oddsocks 418152f
--- AGReader/Sources/main.c.gcc41	2001-12-05 21:03:14.000000000 +0100
oddsocks 418152f
+++ AGReader/Sources/main.c	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -10,6 +10,7 @@
oddsocks 418152f
 #include "AGNodes.h"
oddsocks 418152f
 #include "IO_tty.h"
oddsocks 418152f
 #include "Navig.h"
oddsocks 418152f
+#include "Input.h"
oddsocks 418152f
 
oddsocks 418152f
 struct scrpos terminfo;			/* Information about visited node & screen */
oddsocks 418152f
 
oddsocks 418152f
@@ -96,5 +97,7 @@
oddsocks 418152f
 	} else
oddsocks 418152f
 		/* Errors will be displayed in Navigate() */
oddsocks 418152f
 		quit(NULL,QUIT_ERROR);
oddsocks 418152f
+	
oddsocks 418152f
+	return 0;
oddsocks 418152f
 }
oddsocks 418152f
 
oddsocks 418152f
--- AGReader/Sources/Navigate.c.gcc41	2001-10-16 15:24:18.000000000 +0200
oddsocks 418152f
+++ AGReader/Sources/Navigate.c	2006-05-27 10:56:17.000000000 +0200
oddsocks 418152f
@@ -12,6 +12,8 @@
oddsocks 418152f
 #include "AGObj.h"
oddsocks 418152f
 #include "Navig.h"
oddsocks 418152f
 #include "Text.h"
oddsocks 418152f
+#include "Input.h"
oddsocks 418152f
+#include "IO_tty.h"
oddsocks 418152f
 
oddsocks 418152f
 extern char buffer[ 512 ];
oddsocks 418152f
 extern short *tabs;
oddsocks 418152f
@@ -25,15 +27,15 @@
oddsocks 418152f
 /*** System-specific execute command ***/
oddsocks 418152f
 int myExecute( char *fmt, char *arg )
oddsocks 418152f
 {
oddsocks 418152f
-	char *space, *drive, *dest;
oddsocks 418152f
+	char *space, *drive, *dest = NULL;
oddsocks 418152f
 	int   pid;
oddsocks 418152f
 
oddsocks 418152f
 	/* Command comes from AmigaOS, try to convert to Unix */
oddsocks 418152f
 	if( strncasecmp(fmt, "Run ", 4) == 0 ) fmt += 4;
oddsocks 418152f
 	/* Get command name */
oddsocks 418152f
-	if( space = strchr(fmt, ' ') ) *space = 0;
oddsocks 418152f
+	if( (space = strchr(fmt, ' ')) ) *space = 0;
oddsocks 418152f
 	/* Get device specifier */
oddsocks 418152f
-	if( drive = strchr(fmt, ':') ) {
oddsocks 418152f
+	if( (drive = strchr(fmt, ':')) ) {
oddsocks 418152f
 		*drive = 0;
oddsocks 418152f
 		if(NULL != (dest = getenv( fmt )) ||
oddsocks 418152f
 		   NULL != (dest = getenv( AGR_PATH_ENV_NAME )))
oddsocks 418152f
@@ -229,7 +231,7 @@
oddsocks 418152f
 /*** Try to locate a file, depending where program runs ***/
oddsocks 418152f
 char *LocateFile( char *guidename, char *filename )
oddsocks 418152f
 {
oddsocks 418152f
-	char *p, *path, isdev=0;
oddsocks 418152f
+	char *p = NULL, *path, isdev=0;
oddsocks 418152f
 	int  fd;
oddsocks 418152f
 
oddsocks 418152f
 	/* Retrieve directory where remains the document */
oddsocks 418152f
@@ -289,7 +291,7 @@
oddsocks 418152f
 	if( (*path = LocateFile( GuideName, link->file )) != NULL )
oddsocks 418152f
 	{
oddsocks 418152f
 		extern char AGHeader[];
oddsocks 418152f
-		unsigned char *p;
oddsocks 418152f
+		char *p;
oddsocks 418152f
 
oddsocks 418152f
 		/* Read a few bytes from this file */
oddsocks 418152f
 		if( (fd = open(*path,O_RDONLY)) == -1 )
oddsocks 418152f
@@ -317,9 +319,10 @@
oddsocks 418152f
 		/* Check for a few bytes, whether it's ASCII text */
oddsocks 418152f
 		for(p=buffer+len-1; (char *)p>=buffer; p--)
oddsocks 418152f
 		{
oddsocks 418152f
+			unsigned char u = *p;
oddsocks 418152f
 			/* Non-ISO-8859-1 characters */
oddsocks 418152f
-			if( *p>126 && *p<160 ) break;
oddsocks 418152f
-			if( *p<32  && *p!='\r' && *p!='\n' && *p!='\t' && *p!=27) break;
oddsocks 418152f
+			if( u>126 && u<160 ) break;
oddsocks 418152f
+			if( u<32  && u!='\r' && u!='\n' && u!='\t' && u!=27) break;
oddsocks 418152f
 		}
oddsocks 418152f
 		if((char *)p
oddsocks 418152f
 
oddsocks 418152f
@@ -369,7 +372,6 @@
oddsocks 418152f
 /*** Go back to the previous visited page ***/
oddsocks 418152f
 void HistoryBack( struct scrpos *scr )
oddsocks 418152f
 {
oddsocks 418152f
-	extern long nballoc, nbfree;
oddsocks 418152f
 	/* It should have at least one node */
oddsocks 418152f
 	if( stack && stack->prev )
oddsocks 418152f
 	{
oddsocks 418152f
@@ -417,8 +419,11 @@
oddsocks 418152f
 							SetActiveLine(node);
oddsocks 418152f
 						/* Set the first displayed line */
oddsocks 418152f
 						FindNth(node, link->line, &terminfo);
oddsocks 418152f
-						if(node != AGNODE(&terminfo));
oddsocks 418152f
-							PushAGNode(terminfo.file, AGNODE(&terminfo) = node, 0);
oddsocks 418152f
+						if(node != (AGNode)terminfo.node) {
oddsocks 418152f
+							terminfo.node = node;
oddsocks 418152f
+							PushAGNode(terminfo.file,
oddsocks 418152f
+								terminfo.node, 0);
oddsocks 418152f
+						}
oddsocks 418152f
 						if( is_rawmode() ) ReRenderAGNode();
oddsocks 418152f
 					} else ThrowError("Can't find node `%s'.", link->node);
oddsocks 418152f
 					return 1;
oddsocks 418152f
--- AGReader/Sources/IO_tty.c.gcc41	2001-12-05 20:59:30.000000000 +0100
oddsocks 418152f
+++ AGReader/Sources/IO_tty.c	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -4,6 +4,7 @@
oddsocks 418152f
 *****           but greatly simplified by T.Pierron          ****
oddsocks 418152f
 ****************************************************************/
oddsocks 418152f
 
oddsocks 418152f
+#include <strings.h>
oddsocks 418152f
 #include <termios.h>
oddsocks 418152f
 #include <sys/ioctl.h>
oddsocks 418152f
 #include <sys/time.h>
oddsocks 418152f
@@ -44,6 +45,7 @@
oddsocks 418152f
 {
oddsocks 418152f
 	static struct termios save_term;
oddsocks 418152f
 	struct termios s;
oddsocks 418152f
+	int i; /* silence warnings */
oddsocks 418152f
 
oddsocks 418152f
 	/* Do not set twice the same mode!! */
oddsocks 418152f
 	if (old_st == on) return; old_st = on;
oddsocks 418152f
@@ -121,12 +123,12 @@
oddsocks 418152f
 		s.c_cc[VTIME] = 0;
oddsocks 418152f
 
oddsocks 418152f
 		/* let's enter in private mode */
oddsocks 418152f
-		write(1,SET_PRIV,sizeof(SET_PRIV)-1);
oddsocks 418152f
+		i = write(1,SET_PRIV,sizeof(SET_PRIV)-1);
oddsocks 418152f
 	} else {
oddsocks 418152f
 		/* Restore saved modes */
oddsocks 418152f
 		s = save_term;
oddsocks 418152f
 		/* and old display mode */
oddsocks 418152f
-		write(1,SET_PUB,sizeof(SET_PUB)-1);
oddsocks 418152f
+		i = write(1,SET_PUB,sizeof(SET_PUB)-1);
oddsocks 418152f
 	}
oddsocks 418152f
 	tcsetattr(2, TCSADRAIN, &s);
oddsocks 418152f
 }
oddsocks 418152f
@@ -185,7 +187,8 @@
oddsocks 418152f
 char getchr(void)
oddsocks 418152f
 {
oddsocks 418152f
 	char c;
oddsocks 418152f
-	read(tty, &c, sizeof(c));
oddsocks 418152f
+	if (read(tty, &c, sizeof(c)) != sizeof(c))
oddsocks 418152f
+		return 0;
oddsocks 418152f
 
oddsocks 418152f
 	return c;
oddsocks 418152f
 }
oddsocks 418152f
--- AGReader/Sources/Makefile.gcc41	2001-07-10 12:41:17.000000000 +0200
oddsocks 418152f
+++ AGReader/Sources/Makefile	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -21,7 +21,7 @@
oddsocks 418152f
 	$(CC) $(OBJECTS) -o $(EXE) $(LIBS) -g
oddsocks 418152f
 
oddsocks 418152f
 final: $(OBJECTS)
oddsocks 418152f
-	$(CC) $(OBJECTS) -o $(EXE) $(LIBS) -s
oddsocks 418152f
+	$(CC) $(OBJECTS) -o $(EXE) $(LIBS)
oddsocks 418152f
 
oddsocks 418152f
 install:
oddsocks 418152f
 	cp $(EXE) $(HOME)/bin -f
oddsocks 418152f
--- AGReader/Sources/AGObj.c.gcc41	2001-05-10 23:01:03.000000000 +0200
oddsocks 418152f
+++ AGReader/Sources/AGObj.c	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -5,6 +5,8 @@
oddsocks 418152f
 ** Started on 13/2/2001, free software under GNU PL    **
oddsocks 418152f
 ********************************************************/
oddsocks 418152f
 
oddsocks 418152f
+#include <ctype.h>
oddsocks 418152f
+#include <string.h>
oddsocks 418152f
 #include "AGReader.h"
oddsocks 418152f
 #include "AGNodes.h"
oddsocks 418152f
 #include "AGObj.h"
oddsocks 418152f
@@ -51,7 +53,7 @@
oddsocks 418152f
 
oddsocks 418152f
 		/* Makes them appear like web-page anchor */
oddsocks 418152f
 		new->style = DEF_LINKSTYLE;
oddsocks 418152f
-		new->fgpen = LinkColor[ new->link->type ];
oddsocks 418152f
+		new->fgpen = LinkColor[ (int)new->link->type ];
oddsocks 418152f
 		/* Search content of command/node */
oddsocks 418152f
 		if( new->link->type != UNKNOWN_TYPE )
oddsocks 418152f
 			FindAGLinkInfo(new->link, p+strlen(LinkTokens[new->link->type-1]));
oddsocks 418152f
--- AGReader/Sources/AGObj.h.gcc41	2001-05-10 22:43:29.000000000 +0200
oddsocks 418152f
+++ AGReader/Sources/AGObj.h	2006-05-27 10:48:23.000000000 +0200
oddsocks 418152f
@@ -69,6 +69,8 @@
oddsocks 418152f
 /*** Object containing series of tab stops in spaces ***/
oddsocks 418152f
 AGWord NewTabs(AGPara par, AGWord old, char *fmt);
oddsocks 418152f
 
oddsocks 418152f
+void InsertAGWord(AGPara par, AGWord new, AGWord ins);
oddsocks 418152f
+
oddsocks 418152f
 /** pfnInit parameter for NewObject ***/
oddsocks 418152f
 void WrapOFF(AGObj, ObjPara *);
oddsocks 418152f
 void ClearTabs(AGObj, ObjPara *);
oddsocks 418152f
--- AGReader/Sources/AG_lib.c.gcc41	2001-12-05 22:00:24.000000000 +0100
oddsocks 418152f
+++ AGReader/Sources/AG_lib.c	2006-05-27 10:51:25.000000000 +0200
oddsocks 418152f
@@ -7,11 +7,13 @@
oddsocks 418152f
 
oddsocks 418152f
 #include <sys/stat.h>
oddsocks 418152f
 #include <string.h>
oddsocks 418152f
+#include <ctype.h>
oddsocks 418152f
 #include "AGReader.h"
oddsocks 418152f
 #include "AGNodes.h"
oddsocks 418152f
 #include "AGObj.h"
oddsocks 418152f
 #include "IO_tty.h"
oddsocks 418152f
 #include "Version.h"
oddsocks 418152f
+#include "Input.h"
oddsocks 418152f
 
oddsocks 418152f
 /** Global buffer used to render one line of text **/
oddsocks 418152f
 char   buffer[512], ts, bgpen;
oddsocks 418152f
@@ -350,7 +352,7 @@
oddsocks 418152f
 			*buf = '\0';  if(p < buf) new = NewWord(par,new,p,&AGC);
oddsocks 418152f
 			p    = ++buf;
oddsocks 418152f
 
oddsocks 418152f
-		} else if(*buf == '@')     /* Start of an AmigaGuide style modifier */
oddsocks 418152f
+		} else if(*buf == '@') {  /* Start of an AmigaGuide style modifier */
oddsocks 418152f
 		if( buf[1] == '{' )
oddsocks 418152f
 		{
oddsocks 418152f
 			char **token; *buf='\0';
oddsocks 418152f
@@ -426,9 +428,8 @@
oddsocks 418152f
 			** already processed in CreateAGNodes(), so just skip them.  */
oddsocks 418152f
 			while(*buf != '\n') buf++;
oddsocks 418152f
 			*buf='\0'; p = buf+1;
oddsocks 418152f
-		}
oddsocks 418152f
+		} }
oddsocks 418152f
 	}
oddsocks 418152f
-	eof:
oddsocks 418152f
 	for(; PREV(par); par = PREV(par));
oddsocks 418152f
 	node->AGContent = node->Shown = par;
oddsocks 418152f
 	node->column    = node->line  = 0;
oddsocks 418152f
@@ -441,7 +442,7 @@
oddsocks 418152f
 	if(len > width) len = width;
oddsocks 418152f
 	switch( (unsigned char)par->align & ~JMF_PREVIOUS )
oddsocks 418152f
 	{
oddsocks 418152f
-		case JMF_CENTER: par->spaces = (width - len + indent >> 1); break;
oddsocks 418152f
+		case JMF_CENTER: par->spaces = (width - len + indent) >> 1; break;
oddsocks 418152f
 		case JMF_RIGHT:  par->spaces = width - len; break;
oddsocks 418152f
 		default:         par->spaces = indent + par->alinea;
oddsocks 418152f
 	}
oddsocks 418152f
@@ -453,7 +454,7 @@
oddsocks 418152f
 {
oddsocks 418152f
 	AGPara new, next = NEXT(par);
oddsocks 418152f
 	AGWord wrd;
oddsocks 418152f
-	if( new = NewPara(par, NULL) )
oddsocks 418152f
+	if( (new = NewPara(par, NULL)) )
oddsocks 418152f
 	{
oddsocks 418152f
 		if(next) PREV(next) = new, NEXT(new) = next;
oddsocks 418152f
 		/* Paragraph's indenting properties equal previous */
oddsocks 418152f
@@ -469,7 +470,7 @@
oddsocks 418152f
 		}
oddsocks 418152f
 		else /* Split the whole word */
oddsocks 418152f
 		{
oddsocks 418152f
-			if(wrd = PREV(cut)) NEXT(wrd) = NULL;
oddsocks 418152f
+			if( (wrd = PREV(cut)) ) NEXT(wrd) = NULL;
oddsocks 418152f
 			new->line = cut; PREV(cut) = NULL;
oddsocks 418152f
 		}
oddsocks 418152f
 	}
oddsocks 418152f
@@ -485,8 +486,8 @@
oddsocks 418152f
 	if( wrd->style & FSF_SPLITTED ) wrd = FreeSplit(wrd);
oddsocks 418152f
 	else if(isspace( wrd->data[-1] )) wrd->data--;
oddsocks 418152f
 	for(ins=((AGPara)PREV(par))->line; NEXT(ins); ins=NEXT(ins));
oddsocks 418152f
-	if( NEXT(ins) = wrd ) PREV(wrd) = ins;
oddsocks 418152f
-	if( NEXT((AGPara)PREV(par)) = next )
oddsocks 418152f
+	if( (NEXT(ins) = wrd) ) PREV(wrd) = ins;
oddsocks 418152f
+	if( (NEXT((AGPara)PREV(par)) = next) )
oddsocks 418152f
 		PREV(next) = PREV(par);
oddsocks 418152f
 	free(par);
oddsocks 418152f
 	return ins;
oddsocks 418152f
@@ -496,14 +497,14 @@
oddsocks 418152f
 char FormatPara( AGNode node, short width )
oddsocks 418152f
 {
oddsocks 418152f
 	AGPara par; AGWord word; ObjPara op;
oddsocks 418152f
-	short  len, lg, spc, indent;
oddsocks 418152f
+	short  len, lg, spc = 0, indent;
oddsocks 418152f
 
oddsocks 418152f
 	ts = node->tabsize; tabs = NULL;
oddsocks 418152f
 	node->width = ((op.limit = node->wordwrap) ? width : 0x7fff);
oddsocks 418152f
 	op.nidt = indent = 0;
oddsocks 418152f
 	for(par=node->AGContent; par; indent=op.nidt, par=NEXT(par))
oddsocks 418152f
 	{
oddsocks 418152f
-		char *p, *q, nbwrd;
oddsocks 418152f
+		char *p = NULL, *q, nbwrd;
oddsocks 418152f
 
oddsocks 418152f
 		redo:for(len=indent+par->alinea, nbwrd=1, word=par->line; word; word=NEXT(word))
oddsocks 418152f
 		{
oddsocks 418152f
@@ -536,7 +537,7 @@
oddsocks 418152f
 			if( tmp && (tmp->align & JMF_PREVIOUS) && p)
oddsocks 418152f
 			{
oddsocks 418152f
 				/* This reduce a lot of computing with opaque resizing */
oddsocks 418152f
-				if(word = tmp->line)
oddsocks 418152f
+				if( (word = tmp->line) )
oddsocks 418152f
 					for(t=word->data,spc=0; *t && !isspace(*t); t++, spc++);
oddsocks 418152f
 				
oddsocks 418152f
 				if(len+spc <= width) {