From 170535e1646633f3aef5a1869e49977588e7ade1 Mon Sep 17 00:00:00 2001 From: oddsocks Date: Jun 05 2006 23:56:06 +0000 Subject: auto-import AGReader-1.2-1 on branch devel from AGReader-1.2-1.src.rpm --- diff --git a/.cvsignore b/.cvsignore index 61747c3..b41c939 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -AGReader.tgz +AGReader.tar.bz2 diff --git a/AGReader-1.1-gcc41.patch b/AGReader-1.1-gcc41.patch deleted file mode 100644 index 5627547..0000000 --- a/AGReader-1.1-gcc41.patch +++ /dev/null @@ -1,444 +0,0 @@ ---- AGReader/Sources/Text.h.gcc41 2001-12-05 21:42:45.000000000 +0100 -+++ AGReader/Sources/Text.h 2006-05-27 10:48:23.000000000 +0200 -@@ -21,4 +21,6 @@ - /** Create a AGFile directly from a char stream **/ - AGFile CreateTextFromStream(char *stream, char *title); - -+void AdjustColors(AGNode node); -+ - #endif ---- AGReader/Sources/Text.c.gcc41 2001-12-05 22:10:33.000000000 +0100 -+++ AGReader/Sources/Text.c 2006-05-27 10:53:25.000000000 +0200 -@@ -8,6 +8,7 @@ - #include "AGNodes.h" - #include "AGObj.h" - #include "Text.h" -+#include "Input.h" - - /** Redefines only functions that differs from AG_lib.c **/ - -@@ -15,11 +16,11 @@ - AGFile CreateTextNodes(char *filename) - { - AGFile new; -- if( new = CreateFile( filename ) ) -+ if( (new = CreateFile( filename )) ) - { - AGNode node; - /* Only one node is defined for text file */ -- if( (AGNode) new->Content = node = (AGNode) malloc(sizeof(*node)) ) -+ if( (new->Content = (AGList)(node = (AGNode) malloc(sizeof(*node)))) ) - { - memset(node, 0, sizeof(*node)); - node->name = "MAIN"; -@@ -45,7 +46,7 @@ - { - AGFile new; - -- if( new = CreateTextNodes( NULL ) ) -+ if( (new = CreateTextNodes( NULL )) ) - { - AGNode node = (AGNode) new->Content; - node->start = new->Buffer = stream; -@@ -102,7 +103,6 @@ - static AGPara par; - static AGWord new; - char *buf, *p; -- long nb; - - InitContext(&AGC, JM_NORMAL); - /* Alloc a first paragraph */ ---- /dev/null 2006-05-27 07:46:48.810857750 +0200 -+++ AGReader/Sources/Input.h 2006-05-27 10:48:23.000000000 +0200 -@@ -0,0 +1,11 @@ -+#ifndef INPUT_H -+#define INPUT_H -+ -+#include "AGNodes.h" -+ -+void Prompt( char *str ); -+void SetTopLine( AGNode node ); -+void ThrowError(char *msg, char *param); -+void ProcessKeys( void ); -+ -+#endif ---- AGReader/Sources/AGNodes.h.gcc41 2001-12-05 21:48:46.000000000 +0100 -+++ AGReader/Sources/AGNodes.h 2006-05-27 10:48:23.000000000 +0200 -@@ -124,8 +124,10 @@ - char tabstop(short pos); /* Amount of spaces to add to reach tabstop */ - - void RenderAGNode(AGPara, short nbl, short left, short wid, char mode); -+void RenderLine(AGPara para, short start, short max, char ins_mode); - void ScrollDisplay(struct scrpos *, short pos); - void AGFileInfo(AGFile, char *obj, char *objs); -+char *FindAGLinkInfo(AGLink link, char *format); - - /*** Special character may trashed the display ***/ - AGWord DisableSpecialChar(AGPara par,AGWord old, unsigned char); ---- AGReader/Sources/Input.c.gcc41 2001-07-14 15:13:34.000000000 +0200 -+++ AGReader/Sources/Input.c 2006-05-27 10:48:23.000000000 +0200 -@@ -3,11 +3,13 @@ - ** by T.Pierron, 11/9/2000, free software ** - ****************************************************/ - -+#include - #include "AGReader.h" - #include "AGNodes.h" - #include "Navig.h" - #include "IO_tty.h" - #include "Help.h" -+#include "Text.h" - - static char InfDisp = 0; /* 1 if information screen is displayed */ - static char TmpBuf[80]; /* Buffer used for various output */ -@@ -32,7 +34,7 @@ - - printf("[%d;H%4d%%%*s[%d;6H", - terminfo.height,(node && node->maxlines > terminfo.height ? -- (100 * node->line) / (node->maxlines-terminfo.height+1) : 100), -+ (100 * node->line) / ((int)node->maxlines-terminfo.height+1) : 100), - terminfo.width-5,str,terminfo.height - ); - if( svg[0] ) memcpy(str + plen, svg, 2); -@@ -81,6 +83,7 @@ - void ThrowError(char *msg, char *param) - { - char *d, *s; -+ int i; /* silence warnings */ - - /* Frequently error message encountered */ - if(msg == ERROR_NO_FREE_STORE) msg = "Not enough memory!"; -@@ -95,7 +98,7 @@ - /* If GUI isn't already set, display on stderr */ - if( is_rawmode() ) *d='\0',Prompt(TmpBuf); - else /* fputs doesn't write any \n */ -- *d++='\n',write(2,TmpBuf,d-TmpBuf); -+ *d++='\n',i=write(2,TmpBuf,d-TmpBuf); - } - - /*** Toggle display between node and information ***/ -@@ -106,7 +109,7 @@ - if( InfDisp ) inf->node = old; - else - /* The node may not yet exists */ -- if(strinfo = (AGList) FindAGNode(inf->file, STR_INFONAME)) -+ if( (strinfo = (AGList) FindAGNode(inf->file, STR_INFONAME)) ) - old = inf->node, inf->node = strinfo; - else return; - -@@ -266,7 +269,7 @@ - case '=': - /* Display line statistics */ - sprintf(TmpBuf,"line %d of %d ",AGNODE(&terminfo)->line+1, -- AGNODE(&terminfo)->maxlines); -+ (int)AGNODE(&terminfo)->maxlines); - Prompt(TmpBuf); - break; - case 'b': case 'B': ---- AGReader/Sources/Navig.h.gcc41 2001-10-15 12:47:01.000000000 +0200 -+++ AGReader/Sources/Navig.h 2006-05-27 10:48:23.000000000 +0200 -@@ -30,6 +30,8 @@ - /** Search for node/file pointed by link and display it **/ - int Navigate( char *GuideName, AGLink ); - -+void SetActiveLine( AGNode node ); -+ - /** Function use to create file / node **/ - typedef AGFile (*pfnCreateNodes)( char *path ); - typedef char (*pfnCreateWords)( AGNode node ); ---- AGReader/Sources/AGReader.h.gcc41 2001-03-21 11:28:39.000000000 +0100 -+++ AGReader/Sources/AGReader.h 2006-05-27 10:48:23.000000000 +0200 -@@ -60,5 +60,7 @@ - #define QUIT_OK 0 - #define QUIT_ERROR 1 - -+void quit(char *msg, int status); -+ - #endif - ---- AGReader/Sources/main.c.gcc41 2001-12-05 21:03:14.000000000 +0100 -+++ AGReader/Sources/main.c 2006-05-27 10:48:23.000000000 +0200 -@@ -10,6 +10,7 @@ - #include "AGNodes.h" - #include "IO_tty.h" - #include "Navig.h" -+#include "Input.h" - - struct scrpos terminfo; /* Information about visited node & screen */ - -@@ -96,5 +97,7 @@ - } else - /* Errors will be displayed in Navigate() */ - quit(NULL,QUIT_ERROR); -+ -+ return 0; - } - ---- AGReader/Sources/Navigate.c.gcc41 2001-10-16 15:24:18.000000000 +0200 -+++ AGReader/Sources/Navigate.c 2006-05-27 10:56:17.000000000 +0200 -@@ -12,6 +12,8 @@ - #include "AGObj.h" - #include "Navig.h" - #include "Text.h" -+#include "Input.h" -+#include "IO_tty.h" - - extern char buffer[ 512 ]; - extern short *tabs; -@@ -25,15 +27,15 @@ - /*** System-specific execute command ***/ - int myExecute( char *fmt, char *arg ) - { -- char *space, *drive, *dest; -+ char *space, *drive, *dest = NULL; - int pid; - - /* Command comes from AmigaOS, try to convert to Unix */ - if( strncasecmp(fmt, "Run ", 4) == 0 ) fmt += 4; - /* Get command name */ -- if( space = strchr(fmt, ' ') ) *space = 0; -+ if( (space = strchr(fmt, ' ')) ) *space = 0; - /* Get device specifier */ -- if( drive = strchr(fmt, ':') ) { -+ if( (drive = strchr(fmt, ':')) ) { - *drive = 0; - if(NULL != (dest = getenv( fmt )) || - NULL != (dest = getenv( AGR_PATH_ENV_NAME ))) -@@ -229,7 +231,7 @@ - /*** Try to locate a file, depending where program runs ***/ - char *LocateFile( char *guidename, char *filename ) - { -- char *p, *path, isdev=0; -+ char *p = NULL, *path, isdev=0; - int fd; - - /* Retrieve directory where remains the document */ -@@ -289,7 +291,7 @@ - if( (*path = LocateFile( GuideName, link->file )) != NULL ) - { - extern char AGHeader[]; -- unsigned char *p; -+ char *p; - - /* Read a few bytes from this file */ - if( (fd = open(*path,O_RDONLY)) == -1 ) -@@ -317,9 +319,10 @@ - /* Check for a few bytes, whether it's ASCII text */ - for(p=buffer+len-1; (char *)p>=buffer; p--) - { -+ unsigned char u = *p; - /* Non-ISO-8859-1 characters */ -- if( *p>126 && *p<160 ) break; -- if( *p<32 && *p!='\r' && *p!='\n' && *p!='\t' && *p!=27) break; -+ if( u>126 && u<160 ) break; -+ if( u<32 && u!='\r' && u!='\n' && u!='\t' && u!=27) break; - } - if((char *)pprev ) - { -@@ -417,8 +419,11 @@ - SetActiveLine(node); - /* Set the first displayed line */ - FindNth(node, link->line, &terminfo); -- if(node != AGNODE(&terminfo)); -- PushAGNode(terminfo.file, AGNODE(&terminfo) = node, 0); -+ if(node != (AGNode)terminfo.node) { -+ terminfo.node = node; -+ PushAGNode(terminfo.file, -+ terminfo.node, 0); -+ } - if( is_rawmode() ) ReRenderAGNode(); - } else ThrowError("Can't find node `%s'.", link->node); - return 1; ---- AGReader/Sources/IO_tty.c.gcc41 2001-12-05 20:59:30.000000000 +0100 -+++ AGReader/Sources/IO_tty.c 2006-05-27 10:48:23.000000000 +0200 -@@ -4,6 +4,7 @@ - ***** but greatly simplified by T.Pierron **** - ****************************************************************/ - -+#include - #include - #include - #include -@@ -44,6 +45,7 @@ - { - static struct termios save_term; - struct termios s; -+ int i; /* silence warnings */ - - /* Do not set twice the same mode!! */ - if (old_st == on) return; old_st = on; -@@ -121,12 +123,12 @@ - s.c_cc[VTIME] = 0; - - /* let's enter in private mode */ -- write(1,SET_PRIV,sizeof(SET_PRIV)-1); -+ i = write(1,SET_PRIV,sizeof(SET_PRIV)-1); - } else { - /* Restore saved modes */ - s = save_term; - /* and old display mode */ -- write(1,SET_PUB,sizeof(SET_PUB)-1); -+ i = write(1,SET_PUB,sizeof(SET_PUB)-1); - } - tcsetattr(2, TCSADRAIN, &s); - } -@@ -185,7 +187,8 @@ - char getchr(void) - { - char c; -- read(tty, &c, sizeof(c)); -+ if (read(tty, &c, sizeof(c)) != sizeof(c)) -+ return 0; - - return c; - } ---- AGReader/Sources/Makefile.gcc41 2001-07-10 12:41:17.000000000 +0200 -+++ AGReader/Sources/Makefile 2006-05-27 10:48:23.000000000 +0200 -@@ -21,7 +21,7 @@ - $(CC) $(OBJECTS) -o $(EXE) $(LIBS) -g - - final: $(OBJECTS) -- $(CC) $(OBJECTS) -o $(EXE) $(LIBS) -s -+ $(CC) $(OBJECTS) -o $(EXE) $(LIBS) - - install: - cp $(EXE) $(HOME)/bin -f ---- AGReader/Sources/AGObj.c.gcc41 2001-05-10 23:01:03.000000000 +0200 -+++ AGReader/Sources/AGObj.c 2006-05-27 10:48:23.000000000 +0200 -@@ -5,6 +5,8 @@ - ** Started on 13/2/2001, free software under GNU PL ** - ********************************************************/ - -+#include -+#include - #include "AGReader.h" - #include "AGNodes.h" - #include "AGObj.h" -@@ -51,7 +53,7 @@ - - /* Makes them appear like web-page anchor */ - new->style = DEF_LINKSTYLE; -- new->fgpen = LinkColor[ new->link->type ]; -+ new->fgpen = LinkColor[ (int)new->link->type ]; - /* Search content of command/node */ - if( new->link->type != UNKNOWN_TYPE ) - FindAGLinkInfo(new->link, p+strlen(LinkTokens[new->link->type-1])); ---- AGReader/Sources/AGObj.h.gcc41 2001-05-10 22:43:29.000000000 +0200 -+++ AGReader/Sources/AGObj.h 2006-05-27 10:48:23.000000000 +0200 -@@ -69,6 +69,8 @@ - /*** Object containing series of tab stops in spaces ***/ - AGWord NewTabs(AGPara par, AGWord old, char *fmt); - -+void InsertAGWord(AGPara par, AGWord new, AGWord ins); -+ - /** pfnInit parameter for NewObject ***/ - void WrapOFF(AGObj, ObjPara *); - void ClearTabs(AGObj, ObjPara *); ---- AGReader/Sources/AG_lib.c.gcc41 2001-12-05 22:00:24.000000000 +0100 -+++ AGReader/Sources/AG_lib.c 2006-05-27 10:51:25.000000000 +0200 -@@ -7,11 +7,13 @@ - - #include - #include -+#include - #include "AGReader.h" - #include "AGNodes.h" - #include "AGObj.h" - #include "IO_tty.h" - #include "Version.h" -+#include "Input.h" - - /** Global buffer used to render one line of text **/ - char buffer[512], ts, bgpen; -@@ -350,7 +352,7 @@ - *buf = '\0'; if(p < buf) new = NewWord(par,new,p,&AGC); - p = ++buf; - -- } else if(*buf == '@') /* Start of an AmigaGuide style modifier */ -+ } else if(*buf == '@') { /* Start of an AmigaGuide style modifier */ - if( buf[1] == '{' ) - { - char **token; *buf='\0'; -@@ -426,9 +428,8 @@ - ** already processed in CreateAGNodes(), so just skip them. */ - while(*buf != '\n') buf++; - *buf='\0'; p = buf+1; -- } -+ } } - } -- eof: - for(; PREV(par); par = PREV(par)); - node->AGContent = node->Shown = par; - node->column = node->line = 0; -@@ -441,7 +442,7 @@ - if(len > width) len = width; - switch( (unsigned char)par->align & ~JMF_PREVIOUS ) - { -- case JMF_CENTER: par->spaces = (width - len + indent >> 1); break; -+ case JMF_CENTER: par->spaces = (width - len + indent) >> 1; break; - case JMF_RIGHT: par->spaces = width - len; break; - default: par->spaces = indent + par->alinea; - } -@@ -453,7 +454,7 @@ - { - AGPara new, next = NEXT(par); - AGWord wrd; -- if( new = NewPara(par, NULL) ) -+ if( (new = NewPara(par, NULL)) ) - { - if(next) PREV(next) = new, NEXT(new) = next; - /* Paragraph's indenting properties equal previous */ -@@ -469,7 +470,7 @@ - } - else /* Split the whole word */ - { -- if(wrd = PREV(cut)) NEXT(wrd) = NULL; -+ if( (wrd = PREV(cut)) ) NEXT(wrd) = NULL; - new->line = cut; PREV(cut) = NULL; - } - } -@@ -485,8 +486,8 @@ - if( wrd->style & FSF_SPLITTED ) wrd = FreeSplit(wrd); - else if(isspace( wrd->data[-1] )) wrd->data--; - for(ins=((AGPara)PREV(par))->line; NEXT(ins); ins=NEXT(ins)); -- if( NEXT(ins) = wrd ) PREV(wrd) = ins; -- if( NEXT((AGPara)PREV(par)) = next ) -+ if( (NEXT(ins) = wrd) ) PREV(wrd) = ins; -+ if( (NEXT((AGPara)PREV(par)) = next) ) - PREV(next) = PREV(par); - free(par); - return ins; -@@ -496,14 +497,14 @@ - char FormatPara( AGNode node, short width ) - { - AGPara par; AGWord word; ObjPara op; -- short len, lg, spc, indent; -+ short len, lg, spc = 0, indent; - - ts = node->tabsize; tabs = NULL; - node->width = ((op.limit = node->wordwrap) ? width : 0x7fff); - op.nidt = indent = 0; - for(par=node->AGContent; par; indent=op.nidt, par=NEXT(par)) - { -- char *p, *q, nbwrd; -+ char *p = NULL, *q, nbwrd; - - redo:for(len=indent+par->alinea, nbwrd=1, word=par->line; word; word=NEXT(word)) - { -@@ -536,7 +537,7 @@ - if( tmp && (tmp->align & JMF_PREVIOUS) && p) - { - /* This reduce a lot of computing with opaque resizing */ -- if(word = tmp->line) -+ if( (word = tmp->line) ) - for(t=word->data,spc=0; *t && !isspace(*t); t++, spc++); - - if(len+spc <= width) { diff --git a/AGReader-1.1-keys.patch b/AGReader-1.1-keys.patch deleted file mode 100644 index 8e4dd20..0000000 --- a/AGReader-1.1-keys.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- AGReader/Sources/Input.c.keys 2006-05-27 12:01:05.000000000 +0200 -+++ AGReader/Sources/Input.c 2006-05-28 12:02:06.000000000 +0200 -@@ -163,7 +163,11 @@ - { - static char *Keys[] = { - "OA", "OB", "OC","OD", /* Cursor keys */ -- "[5~","[6~","[H","[F",NULL /* PgDown, PgUp, End, Home */ -+ "[5~","[6~","[H","[F", /* PgDown, PgUp, End, Home */ -+ "[1~","[4~","OH","OF", /* 2x Alternative End, Home */ -+ "[11~","[12~", "[13~", /* F1, F2, F3 */ -+ "OP" ,"OQ", "OR", /* Alternative F1, F2, F3 */ -+ "[[A","[[B","[[C", NULL /* Linux console F1, F2, F3 */ - }; - static char *StrNode[] = { - "help", "index", "table of content" -@@ -178,7 +182,9 @@ - /* Get a single char from stdin */ - *p = getchr(); - /* A escape char indicates beginning of command */ -- if(*p == '\033') *(p=buffer) = '\033'; *++p = 0; -+ if(*p == '\033') *(p=buffer) = '\033'; -+ -+ *++p = 0; - - /* Special sequence ? */ - if( buffer[0]=='\033' ) -@@ -202,6 +208,19 @@ - case 5: scroll_vert(&terminfo, terminfo.height-2); break; - case 6: scroll_vert(&terminfo, -0x7fff); break; - case 7: scroll_vert(&terminfo, 0x7fff); break; -+ case 8: scroll_vert(&terminfo, -0x7fff); break; -+ case 9: scroll_vert(&terminfo, 0x7fff); break; -+ case 10: scroll_vert(&terminfo, -0x7fff); break; -+ case 11: scroll_vert(&terminfo, 0x7fff); break; -+ case 12: p[-1] = '1'; goto singleton; -+ case 13: p[-1] = '2'; goto singleton; -+ case 14: p[-1] = '3'; goto singleton; -+ case 15: p[-1] = '1'; goto singleton; -+ case 16: p[-1] = '2'; goto singleton; -+ case 17: p[-1] = '3'; goto singleton; -+ case 18: p[-1] = '1'; goto singleton; -+ case 19: p[-1] = '2'; goto singleton; -+ case 20: p[-1] = '3'; goto singleton; - } - p=buffer; - } else goto singleton; diff --git a/AGReader.spec b/AGReader.spec index 79331cb..205bfff 100644 --- a/AGReader.spec +++ b/AGReader.spec @@ -1,14 +1,12 @@ Name: AGReader -Version: 1.1 -Release: 9%{?dist} +Version: 1.2 +Release: 1%{?dist} Summary: Console reader for viewing AmigaGuide files Group: Applications/Text License: GPL -URL: http://wuarchive.wustl.edu/aminet/misc/unix -Source0: http://wuarchive.wustl.edu/aminet/misc/unix/%{name}.tgz -Patch0: AGReader-1.1-gcc41.patch -Patch1: AGReader-1.1-keys.patch +URL: http://main.aminet.net/misc/unix/ +Source0: http://main.aminet.net/misc/unix/%{name}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Provides: agreader = %{version}-%{release} @@ -20,8 +18,6 @@ subset of the v40 specifications. %prep %setup -q -n %{name} -%patch0 -p1 -%patch1 -p1 %build @@ -47,7 +43,12 @@ rm -rf %{buildroot} %changelog -* Sun May 28 2006 Ian Chapman 1.1-9%{?dist} +* Mon Jun 05 2006 Ian Chapman 1.2-1%{?dist} +- Version bump +- Dropped patches, they are no longer required +- Changed URL to use primary site, rather than a mirror + +* Sun May 28 2006 Ian Chapman 1.1-9 - Updated keys patch which fixes the keys under BOTH the console and an xterm, courtesy of Hans de Goede - Added provides to offer lower case alias in preparation for probable diff --git a/sources b/sources index 302b77b..44824cd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -07eae411edf5e580773331a696e8f890 AGReader.tgz +fc562338a4d945436ed2b2e130125cc8 AGReader.tar.bz2