- Xref Version 3.2 - HISTORY.TXT - Changes and updates: Version 2.01 o Did some tweaking, and reduced the program size about 35% and increased execution speed about 15%. o Fixed a small bug in the function tree output. Also, function names are now output in the order they are referenced in the function. Version 3.0 o Fixed a small bug that sometimes tagged a global variable's type in a function listing as being "unknown" when it really wasn't. o C xref now looks for the "res_word.txt" file in the same directory it is run from. Before it looked in the default directory. o Removed the limit on the number of include files deep that C xref will open. It will now open files until the system runs out of handles, at which time it tells you that it is unable to open the file. o Improved (at least I think so) the output of the local and global variables in the "function" section. Got rid of the module name where a global variable originates (I didn't think that it was really necessary here), and made the line numbers for the local variables line-up like the global variables do. o Improved the "function tree" output section by making it put a blank line between function calls that fall directly below each other in the same column. o C xref can now cross-reference many more modules at one time. C xref creates a temporary file in the directory that C xref is run from, and saves most of the function's information in it, which frees a lot of memory. (I cross-reference over 1/2 meg. of source code without running out of memory.) If you still run out of memory, and you are cross- referencing header files, try it without the headers (header files make a lot of global declarations, which are kept in memory and are not saved to the temporary file. This can use a lot of memory). o Struct variables are now labeled with their tag type, when possible, instead of [struct]. HISTORY Information Page 1 - Xref Version 3.2 - HISTORY.TXT - o The only C++ compatiblity enabled at this time is that C++ keywords and comments (i.e. "//") are ignored. C++ compatiblity will be added in a future update. o The RES_WORD.TXT file has been updated to include all ansi C and C++ key words. o If a function name is over 20 characters long, then it is truncated when it is output in the "CALLS" section of the "FUNCTION" report. When this occures, the truncated name will be followed with three elispses. [i.e. {filename.c}Very_very_long_na...()] o You can now format the output in the verbose function listing with the '-f' command. The command recognizes C's standard formatting commands, '\f' and '\n'. A space must separate the command and the format string, and no spaces should appear in the formatting string. For example: -f \n\n\n This command would output three newlines after each function's cross- reference. Version 3.0a o A list of a function's input parameters is now included in the verbose cross-reference listing. It follows the "CALLS" section. o Functions that have no line of origin are no longer referenced in the verbose listing or the function tree output. (They continue to be referenced in the function summary, however.) o The wild card character "*" can now be used in the RES_WORD.TXT file. Operates the same as with DOS filenames. HISTORY Information Page 2 - Xref Version 3.2 - HISTORY.TXT - Version 3.1 o If a header file command line included a path name (i.e. #include "c:\text\myheader.h") C xref ignored it. Fixed that. C xref will now use the path if given. o In the same vein, added a new command (-p path;path;...) that lets you input alternate search paths. These paths will be searched when looking for C modules and header files. o Eliminated the "P" (path names) command that follows the "-i" command. No longer needed because of above. o Added the "-o" command. This command allows you to output in the verbose and tree sections those functions that have no line-of-origin. o To save memory (and loading time) when not cross- referencing Windows' programs I split the RES_WORD file into a "C" file (RES_WORD.TXT) and a "Windows" file (WIN_RES.TXT). The WIN_RES file is only loaded when the "-m" command is entered (the RES_WORD file is always loaded). The "-m" command also improves the tree output for Windows' programs. The calling hierarchy is output for the "WinMain" procedure and for any procedure name(s) that are assigned to a WNDCLASS structure (i.e. wndcls.lpfnWndProc = WindowProc). o Changed the program's name to "Xref," because I discovered that another cross-reference program uses the name "C xref." Version 3.1a o Corrected a small bug that treated the directive "error" as a type. This directive was from an older version of Borland C++. Deleted it from the RES_WORD.TXT file. o Fixed a bug where Xref failed to handle a function declaration on it's line-of-origin correctly if anything but a line-feed or a comment followed it. HISTORY Information Page 3 - Xref Version 3.2 - HISTORY.TXT - Version 3.2 o Added a DOS Extender. Xref will now address up to 4 gigabytes of memory. (Requires a '386 processor or higher.) o I now send a printed manual to registered users. o Xref will now read a text file (using the "-c" command) and execute the commands that it finds there as if they were entered on the command line. o You may not care for the characters that I used to separate the different sections, so I've added two commands to let you choose your own. The "-e" and the "-d" commands let you choose replacements for the equal and dash characters, respectively. o In a variable's line number cross-reference listing, an "*" is placed before those line numbers in which the variable is to the left of an assignment operator (i.e. "=" or "+=", etc.). o Fixed a bug in when dealing with the "define" statement. If a "(", "{" or "[" was redefined, Xref "knew" it was in a define statement, but it also thought it should wait for the appropriate closing character. o The time and date that a module was last modified are now printed in the File Summary Section, following the file name. HISTORY Information Page 4