From 4ed197e5ba37f8451f3aa4aac3aadab193425567 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 Mar 2021 22:27:20 +0000 Subject: axodraw 2.1.1c (5mar21) git-svn-id: svn://tug.org/texlive/trunk@58154 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/utils/README | 16 ++++-- Build/source/utils/axodraw2/axodraw2-src/README | 4 +- .../utils/axodraw2/axodraw2-src/axodraw2-man.pdf | Bin 421740 -> 428026 bytes Build/source/utils/axodraw2/axodraw2-src/axohelp.1 | 2 +- Build/source/utils/axodraw2/axodraw2-src/axohelp.c | 61 +++++++++++++++++---- 5 files changed, 62 insertions(+), 21 deletions(-) (limited to 'Build') diff --git a/Build/source/utils/README b/Build/source/utils/README index 8b8ee47b2bd..34976bc9340 100644 --- a/Build/source/utils/README +++ b/Build/source/utils/README @@ -6,21 +6,25 @@ See comments in ../texk/README. asymptote 2.69 - checked 2jan21 update to TL from CTAN, to include prebuilt doc. - see http://tug.org/texlive/build.html#asymptote + see https://tug.org/texlive/build.html#asymptote and tlpkg/bin/tl-update-asy autosp 2021-01-07 - checked 08jan21 - http://ctan.org/pkg/autosp + https://ctan.org/pkg/autosp + +axodraw2 2.1.1c - checked 5mar21 + https://ctan.org/pkg/axodraw2 + (also has files in Master; ctan2tl will install) devnag - from devanagari package installed in texmf-dist. lacheck - maintained here, by us m-tx 0.63a - checked 29apr18 - http://ctan.org/pkg/m-tx/ + https://ctan.org/pkg/m-tx/ pmx 2.9.4a - checked 30jan21 - http://ctan.org/pkg/pmx/ + https://ctan.org/pkg/pmx/ ps2eps 1.68 - checked 10may12 http://tm.uka.de/~bless/ps2eps @@ -32,7 +36,7 @@ texdoctk - reluctantly maintained here in TL If anyone would like to resume development, just let us know. tpic2pdftex 1.97 - checked 10may12 - http://ctan.org/pkg/tpic2pdftex/ + https://ctan.org/pkg/tpic2pdftex/ vlna 1.5 - checked 10may12 ftp://math.feld.cvut.cz/pub/olsak/vlna/ @@ -40,7 +44,7 @@ vlna 1.5 - checked 10may12 xindy - see just below xpdfopen 0.86 - checked 9jul18 - http://ctan.org/pkg/xpdfopen/ + https://ctan.org/pkg/xpdfopen/ http://cs.acadiau.ca/~jdiamond/xpdfopen/ diff --git a/Build/source/utils/axodraw2/axodraw2-src/README b/Build/source/utils/axodraw2/axodraw2-src/README index a0ab3d5333e..eca27d0e93a 100644 --- a/Build/source/utils/axodraw2/axodraw2-src/README +++ b/Build/source/utils/axodraw2/axodraw2-src/README @@ -1,8 +1,8 @@ -Axodraw2 2.1.1b 2019/09/02 +Axodraw2 2.1.1c 2021/03/05 ========================== axodraw2.sty version is v2.1.1 2018/02/15 -axohelp.c version is 1.3 2019/08/30 +axohelp.c version is 1.4 2021/03/05 Axodraw2 is a package that defines macros for drawing Feynman graphs in LaTeX documents. diff --git a/Build/source/utils/axodraw2/axodraw2-src/axodraw2-man.pdf b/Build/source/utils/axodraw2/axodraw2-src/axodraw2-man.pdf index aacb77d69db..e7583c17648 100644 Binary files a/Build/source/utils/axodraw2/axodraw2-src/axodraw2-man.pdf and b/Build/source/utils/axodraw2/axodraw2-src/axodraw2-man.pdf differ diff --git a/Build/source/utils/axodraw2/axodraw2-src/axohelp.1 b/Build/source/utils/axodraw2/axodraw2-src/axohelp.1 index 43fd637e828..30ec618fb29 100644 --- a/Build/source/utils/axodraw2/axodraw2-src/axohelp.1 +++ b/Build/source/utils/axodraw2/axodraw2-src/axohelp.1 @@ -1,4 +1,4 @@ -.TH "axohelp" "1.3" "4 Mar 2021" "" +.TH "axohelp" "1.4" "5 Mar 2021" "" .SH NAME axohelp - helper program for use of LaTeX package axodraw2 with pdflatex. diff --git a/Build/source/utils/axodraw2/axodraw2-src/axohelp.c b/Build/source/utils/axodraw2/axodraw2-src/axohelp.c index 6f818d7eff2..92d42179367 100644 --- a/Build/source/utils/axodraw2/axodraw2-src/axohelp.c +++ b/Build/source/utils/axodraw2/axodraw2-src/axohelp.c @@ -73,9 +73,9 @@ */ #define NAME "axohelp" -#define VERSIONDATE "2019 Aug 28" +#define VERSIONDATE "2021 Mar 5" #define VERSION 1 -#define SUBVERSION 3 +#define SUBVERSION 4 #define COMMENTCHAR '%' #define TERMCHAR ';' @@ -685,6 +685,11 @@ double *ReadArray(char *inbuf, int *num1, int *num2) if ( argsize == 0 ) newsize = 20; else newsize = 2*argsize; newargs = (double *)malloc(sizeof(double)*newsize); + if (! newargs ) { + fprintf(stderr,"%s: Memory allocation error while reading file %s\n",axohelp,inname); + free(args); + return(0); + } if ( args == 0 ) { args = newargs; argsize = newsize; } else { for ( i = 0; i < argsize; i++ ) newargs[i] = args[i]; @@ -704,6 +709,11 @@ double *ReadArray(char *inbuf, int *num1, int *num2) } if ( num+*num2 > argsize ) { newargs = (double *)malloc(sizeof(double)*(num+*num2)); + if (! newargs ) { + fprintf(stderr,"%s: Memory allocation error while reading file %s\n",axohelp,inname); + free(args); + return(0); + } for ( i = 0; i < num; i++ ) newargs[i] = args[i]; free(args); args = newargs; @@ -739,6 +749,10 @@ double *ReadTail(char *buff,int *number) else s++; } outargs = (double *)malloc(num*sizeof(double)); + if (! outargs ) { + fprintf(stderr,"%s: Memory allocation error while reading file %s\n",axohelp,inname); + return(0); + } s = buff; for ( i = 0; i < num; i++ ) { while ( *s == 0 ) s++; @@ -912,7 +926,7 @@ long ScanForObjects(char *buffer) if ( inputallocations == 0 ) { newnum = 100; } else { newnum = 2*inputallocations; } if ( ( newadd = (char **)malloc(newnum*sizeof(char *)) ) == 0 ) { - fprintf(stderr,"%s: memory error reading file %s\n",axohelp,inname); + fprintf(stderr,"%s: Memory allocation error while reading file %s\n",axohelp,inname); return(-1); } for ( i = 0; i < inputallocations; i++ ) { newadd[i] = inputs[i]; } @@ -922,10 +936,10 @@ long ScanForObjects(char *buffer) } inputs[numinputs++] = s; /* - Now scan for the first comment character. That is the end of the object. + Now scan for the first termination character. That is the end of the object. */ while ( *t && ( *t != TERMCHAR || ( *t == TERMCHAR && t[-1] == '\\' ) ) - && *t != '[' ) t++; + && *t != '[' ) t++; if ( *t != '[' ) { while ( t[-1] == ' ' || t[-1] == '\n' ) t--; *t++ = 0; @@ -955,8 +969,8 @@ char *ReadInput(char *filename) fprintf(stderr,"%s: File error in file %s\n",axohelp,filename); exit(1); } - if ( ( buffer = malloc((filesize+1)*sizeof(char)) ) == 0 ) { - fprintf(stderr,"%s: Error allocating %ld bytes of memory",axohelp,filesize+1); + if ( ( buffer = (char*)malloc((filesize+1)*sizeof(char)) ) == 0 ) { + fprintf(stderr,"%s: Error allocating %ld chars of memory",axohelp,filesize+1); exit(1); } /* @@ -1058,13 +1072,23 @@ void sendClean( char* str ) { int DoOneObject(char *cinput) { - // Single point for exit, to ensure proper clean up. + // OBSERVE: Single point for exit, to ensure proper clean up. int num, i, num1, num2, retcode; char *s, *t; double *argbuf = 0; + char *curline = 0; retcode = -1; SetDefaults(); + // Store current line here for diagnostics, since parsing is destructive + // of input buffer. + curline = (char *)malloc( (1+strlen(cinput)) * sizeof(char) + 1 ); + if (! curline) { + fprintf(stderr,"%s: Memory allocation error while reading file %s\n",axohelp,inname); + goto EXIT; + } + strcpy( curline, cinput ); + // Locate number of object: s = cinput; while ( *s != '[' ) s++; s++; t = s; while ( *t != ']' ) t++; @@ -1090,7 +1114,7 @@ int DoOneObject(char *cinput) goto SUCCESS; } else { - fprintf(stderr,"%s: Illegal request in identification string [0]: %s\n" + fprintf(stderr,"%s: Illegal object name in identification string [0]: %s\n" ,axohelp,nameobject); goto EXIT; } @@ -1209,8 +1233,14 @@ int DoOneObject(char *cinput) SUCCESS: retcode = 0; EXIT: - if (argbuf) { free(argbuf); } fprintf(outfile,"}\n"); + if (retcode) { + fprintf( stderr, "Line in file '%s' causing error is\n '%.75s'\n", + inname, curline ); + if ( strlen(curline) > 75 ) { fprintf( stderr, " (Truncated)\n" ); } + } + if (argbuf) { free(argbuf); } + if (curline) { free(curline); } return(retcode); } @@ -1318,8 +1348,14 @@ int main(int argc,char **argv) */ s = *argv; length = strlen(s); - inname = strcpy(malloc((length+5)*sizeof(char)),s); - outname = strcpy(malloc((length+5)*sizeof(char)),s); + inname = (char*)malloc((length+5)*sizeof(char)); + inname = strcpy(inname,s); + outname = (char*)malloc((length+5)*sizeof(char)); + outname = strcpy(outname,s); + if ( (!inname) || (!outname) ) { + fprintf(stderr,"%s: Memory allocation error in startup\n",axohelp); + exit(1); + } if ( (length > 4) && (strcmp(s+length-4, ".ax1") == 0) ) { outname[length-1] = '2'; } @@ -1341,6 +1377,7 @@ int main(int argc,char **argv) if ( error > 0 ) { fprintf(stderr,"%s: %d objects in %s were not translated correctly.\n", axohelp,error,inname); + fprintf( stderr, " Erroneous data in input file normally corresponds to erroneous arguments\n for an axodraw object in the .tex file.\n" ); return(1); } return(0); -- cgit v1.2.3