Browse Source

* updates for 0.99.10

peter 27 years ago
parent
commit
9bc939fdd1

+ 7 - 6
install/debian/Makefile

@@ -3,21 +3,22 @@
 # Copyright (c) 1998 by the Free Pascal Development Team
 #############################################################################
 
+RELEASE=1 
+
+export RELEASE
+
 all:
-	make -C compiler cycle RELEASE=1
-	make -C rtl/linux all RELEASE=1
-	make -C rtl/utils all RELEASE=1
-#	make -C docs html
+	make -C compiler cycle
+	make -C rtl/linux all
+	make -C rtl/utils all
 
 install:
 	make -C compiler installlib
 	make -C rtl/linux install
 	make -C rtl/linux libinstall PPUMOVE=../utils/ppumove
 	make -C rtl/utils install
-#	make -C docs install
 
 clean:
 	make -C compiler clean
 	make -C rtl/utils clean
 	make -C rtl/linux libsclean
-#	make -C docs clean

+ 1 - 4
install/debian/README.debian

@@ -1,9 +1,6 @@
 Free Pascal for DEBIAN
 ----------------------
 
-This package is from the Free Pascal CVS:
-  :pserver:[email protected]:/usr/local/CVS
-
 The home page is http://tfdec1.fys.kuleuven.ac.be/~michael/fpc/
 
-Peter Vreman <[email protected]>, Tue, 10 Nov 1998 12:00:00 +0200
+Peter Vreman <[email protected]>, Tue, 20 Nov 1998 12:00:00 +0200

+ 2 - 2
install/debian/changelog

@@ -1,8 +1,8 @@
-fpc (0.99.9-1) unstable; urgency=low
+fpc (0.99.10-1) unstable; urgency=low
 
   * Initial Release.
 
- -- Peter Vreman <[email protected]>  Tue, 10 Nov 1998 12:00:00 +0200
+ -- Peter Vreman <[email protected]>  Tue, 20 Dec 1998 12:00:00 +0200
 
 Local variables:
 mode: debian-changelog

+ 1 - 1
install/debian/control

@@ -1,7 +1,7 @@
 Source: fpc
 Section: devel
 Priority: optional
-Maintainer: root <root@cooldown.demon.nl>
+Maintainer: Peter Vreman <pfv@cooldown.demon.nl>
 Standards-Version: 2.4.1.2
 
 Package: fpc

+ 1 - 1
install/debian/copyright

@@ -2,7 +2,7 @@ The package was originally put together by:
   Peter Vreman <[email protected]>
 
 From sources obtained from:
-  tflily.fys.kuleuven.ac.be/pub/fpc/dist/linux/fpc-0.99.9.tar.gz
+  tflily.fys.kuleuven.ac.be/pub/fpc/dist/linux/fpc-0.99.10.tar.gz
 
 
    This program is free software; you can redistribute it and/or modify

+ 2 - 2
install/debian/postinst

@@ -1,10 +1,10 @@
 #! /bin/sh
 
 # create link
-ln -sf /usr/lib/fpc/0.99.9/ppc386 /usr/bin/ppc386
+ln -sf /usr/lib/fpc/0.99.10/ppc386 /usr/bin/ppc386
 
 # create /etc/ppc386.cfg
-/usr/lib/fpc/0.99.9/samplecfg `dirname \`find /usr/lib/gcc-lib/ -name libgcc.a -print | grep -v egcs \``
+/usr/lib/fpc/0.99.10/samplecfg /usr/lib/fpc/0.99.10 `dirname \`find /usr/lib/gcc-lib/ -name libgcc.a -print | grep -v egcs \``
 
 # update ld.so cache
 ldconfig

+ 1 - 1
install/fpc-0.99.10.spec

@@ -41,7 +41,7 @@ make -C rtl/utils clean
 make -C rtl/linux libsclean
 
 %post
-%{vlibdir}/samplecfg `dirname \`find /usr/lib/gcc-lib/ -name libgcc.a -print | grep -v egcs \``
+%{vlibdir}/samplecfg %{vlibdir} `dirname \`find /usr/lib/gcc-lib/ -name libgcc.a -print | grep -v egcs \``
 ldconfig
 
 %files

+ 0 - 59
install/fpc-0.99.8.spec

@@ -1,59 +0,0 @@
-Name: fpc
-Version: 0.99.8
-Release: 2
-ExclusiveArch: i386
-Copyright: GPL
-Group: Development/Languages
-Source: fpc-0.99.8-src.tar.gz
-Summary: Free Pascal Compiler
-Packager: Michael Van Canneyt ([email protected])
-URL: http://tfdec1.fys.kuleuven.ac.be/~michael/fpc/fpc.html
-
-%description	
-The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi II compatible
-32bit Pascal Compiler. It comes with fully TP 7.0 compatible run-time library.
-Some extensions are added to the language, like function overloading. Shared
-and static libraries can be linked and created. Linking with C libraries is
-easy, so interfaces can be written fast. 
-
-%define package fpc-%{PACKAGE_VERSION}
-%define bindir /usr/bin
-%define libdir /usr/lib/fpc
-%define vlibdir %{libdir}/%{PACKAGE_VERSION}
-%define unitdir %{vlibdir}/linuxunits
-%define docdir /usr/doc/%{package}
-
-%prep
-%setup -c
-
-%build
-make -C compiler cycle RELEASE=1
-make -C rtl/utils all RELEASE=1
-make -C docs html
-
-%install
-make -C compiler install BININSTALLDIR=%{bindir} LIBINSTALLDIR=%{vlibdir}
-make -C rtl/linux install UNITINSTALLDIR=%{unitdir}
-make -C rtl/linux libinstall UNITINSTALLDIR=%{unitdir} PPUMOVE=../utils/ppumove
-make -C rtl/utils install BININSTALLDIR=%{bindir} UNITINSTALLDIR=%{unitdir}
-make -C docs install DOCINSTALLDIR=%{docdir}
-
-%clean
-make -C compiler clean
-make -C rtl/utils clean
-make -C rtl/linux libsclean
-make -C docs clean
-
-%post
-%{vlibdir}/samplecfg `dirname \`find /usr/lib/gcc-lib/ -name libgcc.a -print | grep -v egcs \``
-ldconfig
-
-%files
-%{bindir}/ppc386
-%{bindir}/ppudump
-%{bindir}/ppumove
-%{bindir}/h2pas
-%{vlibdir}
-/usr/lib/libfpc.so
-%dir %{libdir}
-%doc %{docdir}

+ 30 - 4
install/install.pas

@@ -170,7 +170,10 @@ program install;
 
   function createdir(var s : string) : boolean;
     var
-      result : longint;
+      start,
+      s1 : string;
+      i,result : longint;
+      err : boolean;
       dir : searchrec;
       params : array[0..0] of pointer;
     begin
@@ -186,10 +189,30 @@ program install;
             createdir:=(result=cmNo);
             exit;
          end;
+       err:=false;
        {$I-}
-        mkdir(s);
+       getdir(0,start);	 
+       repeat
+         i:=Pos(DirSep,s);
+	 if i=0 then
+	  i:=255;
+         s1:=Copy(s,1,i-1);
+	 Delete(s,1,i);
+	 ChDir(s1);
+	 if ioresult<>0 then
+	  begin
+	    mkdir(s1);
+	    chdir(s1);
+	    if ioresult<>0 then
+	     begin
+	       err:=true;
+  	       break;
+	     end;  
+	  end;
+       until s='';
+       chdir(start);	 
        {$I+}
-       if ioresult<>0 then
+       if err then
          begin
             params[0]:=@s;
             messagebox('The installation directory %s couldn''t be created',
@@ -597,7 +620,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.12  1998-12-16 00:25:34  peter
+  Revision 1.13  1998-12-21 13:11:39  peter
+    * updates for 0.99.10
+
+  Revision 1.12  1998/12/16 00:25:34  peter
     * updated for 0.99.10
     * new end dialogbox
 

+ 17 - 22
install/makecfg

@@ -8,18 +8,11 @@
 #
 #   Needs 4 Arguments:
 #    $1 = filename to create
-#    $2 = Path to the RTL Units (with subdirs /linuxunits /sharedunits /staticunits)
-#    $3 = Path to the .msg files
-#    $4 = Path to the GCC lib
 #
-if [ $# != 4 ]; then
+if [ $# != 1 ]; then
   echo 'Usage :'
-  echo 'makecfg filename rtlpath msgpath libgccpath'
+  echo 'makecfg filename'
   echo 'filename   = filename to create'
-  echo 'rtlpath    = Path to the RTL Units'
-  echo '             (with subdirs /linuxunits /sharedunits /staticunits)'
-  echo 'msgpath    = Path to the .msg files'
-  echo 'libgccpath = Path to the GCC lib'
   exit 1
 fi
 cat <<EOFCREATE >$1
@@ -27,6 +20,13 @@ cat <<EOFCREATE >$1
 #
 #  Generate Free Pascal configuration file
 #
+if [ \$# != 2 ]; then
+  echo 'Usage :'
+  echo 'samplecfg basepath libgccpath'
+  echo 'basepath   = Path where FPC is installed'
+  echo 'libgccpath = Path to the GCC lib'
+  exit 1
+fi
 if [ -f /etc/ppc386.cfg ] ; then
   mv /etc/ppc386.cfg /etc/ppc386.orig  >/dev/null 2>&1
   if [ \$? == 0 ]; then
@@ -38,10 +38,7 @@ fi
 echo Writing sample configuration file to /etc/ppc386.cfg
 cat <<EOFCFG > /etc/ppc386.cfg
 #
-# Example ppc386.cfg for Free Pascal Compiler Version 0.99.8
-#
-# Possible argument:
-#  \$1 = path to libgcc.a
+# Example ppc386.cfg for Free Pascal Compiler Version 0.99.10
 #
 
 # ----------------------
@@ -99,10 +96,9 @@ cat <<EOFCFG > /etc/ppc386.cfg
 # -So   tries to be TP/BP 7.0 compatible
 # -Ss   constructor name must be init (destructor must be done)
 # -St   allows static keyword in objects
-# -Sv   allow C-variablen
 
 # Allow goto, inline, C-operators, C-vars
--Sgicv
+-Sgic
 
 # ---------------
 # Code generation
@@ -147,12 +143,11 @@ cat <<EOFCFG > /etc/ppc386.cfg
 
 # path to the messagefile, not necessary anymore but can be used to override
 # the default language
-#-Fr$3/errore.msg
-#-Fr$3/errorn.msg
+#-Fr\$2/msg/errore.msg
+#-Fr\$2/msg/errorn.msg
 
 # path to the gcclib
-#-Fg$4
--Fg\$1
+-Fg\$2
 
 # searchpath for includefiles
 #-Fi/pp/inc;/pp/rtl/inc
@@ -160,14 +155,14 @@ cat <<EOFCFG > /etc/ppc386.cfg
 # searchpath for units (does the same as -Up)
 # For statically, smartlinked units
 #IFDEF FPC_LINK_STATIC
--Fu$2/staticunits
+-Fu\$1/staticunits
 #ENDIF
 # For Dynamically linked units
 #IFDEF FPC_LINK_DYNAMIC
--Fu$2/sharedunits
+-Fu\$1/sharedunits
 #ENDIF
 # For normal units
--Fu$2/linuxunits
+-Fu\$1/linuxunits
 #-Fu/pp/units;/pp/rtl/dos/go32v2
 #-Fu/usr/lib/ppc/units;/usr/lib/ppc/linuxunits
 

+ 9 - 9
install/readme.txt

@@ -1,7 +1,7 @@
 
                             Free Pascal Compiler
 
-                               Version 0.99.8
+                               Version 0.99.10
 
 
 ****************************************************************************
@@ -35,7 +35,7 @@ The current version is only an evaluation version.
 
 Quick start
 -----------
-Download dos09908.zip and unzip it into a temporary directory.
+Download dos09910.zip and unzip it into a temporary directory.
 
 Start the install program INSTALL.EXE and follow the instructions.
 
@@ -55,7 +55,7 @@ All standard packages contain a part that is specific for the target platform
 and a few files which are target independent. All files are also available
 as separate files to reduce file size if the default file is too big.
 
-dos09908.zip specific:
+dos09910.zip specific:
 ----------------------
   basego32.zip    contains a DOS (Go32V2) compiler, run time library and
                   additional files.
@@ -66,7 +66,7 @@ dos09908.zip specific:
       Strip 2.8.1 for Go32V2
   gdbgo32.zip     contains the GNU Debugger 4.16 for Go32V2
 
-w3209908.zip specific:
+w3209910.zip specific:
 ----------------------
   basew32.zip     contains a Win32 compiler, run time library and
                   additional files.
@@ -78,7 +78,7 @@ w3209908.zip specific:
       Strip 980119 for Win32
   gdbw32.zip      contains the GNU Debugger 4.16.1 for Win32
 
-common files in dos09908.zip and w3209908.zip:
+common files in dos09910.zip and w3209910.zip:
 ----------------------------------------------
   gnuutils.zip    contains additional GNU utilities which are neccessary to
                   compile the run time library:
@@ -96,11 +96,11 @@ common files in dos09908.zip and w3209908.zip:
   readme.txt      this readme file
   whatsnew.txt    what's been changed
 
-Optional source package src09908.zip:
+Optional source package src09910.zip:
 -------------------------------------
-  pp09908s.zip    contains the compiler sources
-  rl09908s.zip    contains the run time library sources
-  doc110s.zip     contains the TeX sources of the doc
+  pp09910s.zip    contains the compiler sources
+  rl09910s.zip    contains the run time library sources
+  doc120s.zip     contains the TeX sources of the doc
 
 
 ****************************************************************************

+ 20 - 48
install/unzip.pas

@@ -1,41 +1,4 @@
 UNIT Unzip;
-{
-Unzips deflated, imploded, shrunk and stored files
-  ** COMPATIBLE WITH
-        * Turbo Pascal v7.x     (DOS)
-        * Borland Pascal v7.x   (Dos, DPMI, and Windows)
-        * Delphi v1.x
-        * Delphi v2.x
-        * Delphi v3.x
-        * Virtual Pascal v2.0   (Win32)
-}
-
-{
-  Original version (1.x): Christian Ghisler
-   C code by info-zip group, translated to pascal by Christian Ghisler
-   based on unz51g.zip;
-   Special thanks go to Mark Adler,who wrote the main inflate and
-   explode code, and did NOT copyright it!!!
-
- v2.00: March 1998: Dr Abimbola Olowofoyeku (The African Chief)
-        Homepage: http://ourworld.compuserve.com/homepages/African_Chief
-   * modified to compile for Delphi v2.x and Delphi v3.x
-
- v2.01: April 1998: Dr Abimbola Olowofoyeku (The African Chief)
-   * source files merged into a single source (this) file
-   * several high level functions added - i.e.,
-              FileUnzip()
-              FileUnzipEx()
-              ViewZip()
-              UnzipSize()
-              SetUnzipReportProc()
-              SetUnzipQuestionProc()
-              ChfUnzip_Init()
-   * callbacks added
-   * modified to support Virtual Pascal v2.0 (Win32)
-   * Delphi component added (chfunzip.pas)
-}
-
 INTERFACE
 
 {$IFNDEF FPC}
@@ -2297,7 +2260,9 @@ FUNCTION unzipfile ( in_name : pchar;out_name : pchar;offset : longint;
 VAR err : integer;
     header : plocalheader;
     buf : ARRAY [ 0..80 ] of char;
+{$ifndef linux}
     buf0 : ARRAY [ 0..3 ] of char;
+{$endif}
     timedate : longint;
     originalcrc : longint;    {crc from zip-header}
     ziptype, aResult : integer;
@@ -2403,17 +2368,17 @@ BEGIN
   {$I+}
   err := ioresult;
   {create directories not yet in path}
-  isadir := ( out_name [ strlen ( out_name ) -1 ] = '/' )
-       OR ( out_name [ strlen ( out_name ) -1 ] = '\' );
+  isadir := ( out_name [ strlen ( out_name ) -1 ] in ['/','\'] );
   IF ( err = 3 ) OR isadir THEN BEGIN  {path not found}
     {$I-}
     getdir ( 0, oldcurdir );
     {$I+}
     err := ioresult;
     strcopy ( buf, out_name );
-    p1 := strrscan ( buf, '\' );
+    p1 := strrscan ( buf, DirSep );
     IF p1 <> NIL THEN inc ( p1 );  {pointer to filename}
-    p := strtok ( buf, '\' );
+    p := strtok ( buf, DirSep );
+{$ifndef linux}
     IF ( p <> NIL ) AND ( p [ 1 ] = ':' ) THEN BEGIN
       strcopy ( buf0, 'c:\' );    {set drive}
       buf0 [ 0 ] := p [ 0 ];
@@ -2425,8 +2390,9 @@ BEGIN
       {$I+}
       err := ioresult;
       {$endif}
-      p := strtok ( NIL, '\' );
+      p := strtok ( p, '\' );
     END;
+{$endif}
     WHILE ( p <> NIL ) AND ( p <> p1 ) DO BEGIN
       {$ifdef windows}
        {$ifdef Delphi}
@@ -2461,7 +2427,7 @@ BEGIN
           err := ioresult;
       END;
       IF err = 0 THEN
-        p := strtok ( NIL, '\' )
+        p := strtok ( p, DirSep )
       ELSE
         p := NIL;
     END;
@@ -2649,11 +2615,17 @@ BEGIN
   buf^ [ offs ] := #0;  {Repair signature of next block!}
   strlcopy ( filename, pchar ( @buf^ [ localstart + sizeof ( header^ ) ] ), sizeof ( filename ) -1 );
   buf^ [ offs ] := old;
+{$ifndef linux}
   REPEAT           {Convert slash to backslash!}
     p := strscan ( filename, '/' );
     IF p <> NIL THEN p [ 0 ] := '\';
   UNTIL p = NIL;
-
+{$else}
+  REPEAT           {Convert backslash to slash!}
+    p := strscan ( filename, '\' );
+    IF p <> NIL THEN p [ 0 ] := '/';
+  UNTIL p = NIL;
+{$endif}
   incr := header^.filename_len + header^.extra_field_len +
         header^.file_comment_len + sizeof ( header^ );
   IF incr <= 0 THEN BEGIN
@@ -2847,7 +2819,7 @@ BEGIN
     AND ( strpos ( filename, '.exe' ) = NIL ) THEN BEGIN
     strcopy ( myname, filename );
     l := strlen ( myname );
-    IF myname [ l -1 ] = '\' THEN myname [ l -1 ] := #0;
+    IF myname [ l -1 ] = DirSep THEN myname [ l -1 ] := #0;
     {$I-}
     chdir ( Strpas ( myname ) );
     {$I+}
@@ -2995,8 +2967,8 @@ BEGIN
 
   Strcopy ( thename, SourceZipFile );
   Strcopy ( target, TargetDirectory );
-  IF ( target [ 0 ] <> #0 ) AND ( target [ strlen ( target ) -1 ] <> '\' )
-  THEN strcat ( target, '\' );
+  IF ( target [ 0 ] <> #0 ) AND ( target [ strlen ( target ) -1 ] <> DirSep )
+  THEN strcat ( target, DirSep );
   FileUnzip := unzip_NotZipFile;
   IF NOT iszip ( thename ) THEN exit;
 
@@ -3034,7 +3006,7 @@ BEGIN
 
       WITH ZipRec DO BEGIN { report start of file }
            s := StrPas ( Buf );
-           IsaDir := s [ length ( s ) ] = '\';
+           IsaDir := s [ length ( s ) ] = DirSep;
            Time := r.Time;
            Size := r.Size;
            CompressSize := r.CompressSize;

+ 33 - 1
install/whatsnew.txt

@@ -1,9 +1,41 @@
 
                             Free Pascal Compiler
 
-                               Version 0.99.8
+                               Version 0.99.10
 
+******************************************************************************
+                            Whats New in 0.99.10
+******************************************************************************
+
+Compiler:
+  + better optimizer
+  + ansistring support
+  + array of const support for FormatStr
+  + automatic heaptrc unit including with the -gh option
+  + open strings ($P+) support
+  + DLL generation for Win32
+  + printf support for cdecl using array of const
+  * exceptions are finally working
+  * fixed some ppu problems
+  * fixed unit interdependency problems
+  * better range checking, also for enums
+  * size of objects without virtuals is now the same as tp7
+  * lot of fixes for the assembler readers
+  * more constant expression evalutations
+  * removed all memoryleaks
+  * almost all reported bugs are fixed
+  
+RTL:
+  + heaptrc unit to detect memoryleaks and other problems with the heap
+  + graph unit works and some missing functions are added
+  * objects unit fully works
+  * more functions for the classes,sysutils unit
 
+Utils:
+  * ppudump updated for new ppu entries  
+  * h2pas updated to write new cdecl declaration
+  
+  
 ******************************************************************************
                             Whats New in 0.99.8
 ******************************************************************************

+ 35 - 47
install/ziptypes.pas

@@ -1,35 +1,26 @@
 UNIT ziptypes;
-{
-Type definitions for UNZIP
-  * original version by Christian Ghisler
-  * extended
-    and
-    amended for Win32 by Dr Abimbola Olowofoyeku (The African Chief)
- Homepage: http://ourworld.compuserve.com/homepages/African_Chief
-}
-
 INTERFACE
 
-{$ifdef Win32}
-TYPE
-nWord   = longint;
-{$else Win32}
-TYPE
-nWord = Word;
-{$endif Win32}
-
-{$ifdef VirtualPascal}
 TYPE
-Integer = Longint; // Default Integer is 16 bit!
-{$endif VirtualPascal}
+  nWord = Longint;
+  Integer = Longint;
 
 CONST
-tBufSize = {$ifdef Win32}256{$else}63{$endif} * 1024;   {buffer size}
-tFSize   = {$ifdef Win32}259{$else}79{$endif};          {filename length}
+  tBufSize = 256*1024;     {buffer size}
+  tFSize   = 255;          {filename length}
+
+{$ifdef linux}
+  DirSep = '/';
+{$else}
+  DirSep = '\';
+{$endif}
+
 
 { Record for UNZIP }
-TYPE buftype  = ARRAY [ 0..tBufSize ] of char;
-TYPE TDirtype = ARRAY [ 0..tFSize ] of char;
+TYPE
+     buftype  = ARRAY [ 0..tBufSize ] of char;
+     TDirtype = ARRAY [ 0..tFSize ] of char;
+
      TZipRec = PACKED RECORD
        buf : ^buftype;        {please}         {buffer containing central dir}
        bufsize,               {do not}         {size of buffer}
@@ -44,9 +35,8 @@ TYPE TDirtype = ARRAY [ 0..tFSize ] of char;
      END; { TZipRec }
 
 { record for callback progress Reports, etc. }
-TYPE
-pReportRec = ^TReportRec;     {passed to callback functions}
-TReportRec = PACKED RECORD
+     pReportRec = ^TReportRec;     {passed to callback functions}
+     TReportRec = PACKED RECORD
        FileName : tdirtype;   {name of individual file}
        Time,                  {date and time stamp of individual file}
        Size,                  {uncompressed and time stamp of individual file}
@@ -56,22 +46,21 @@ TReportRec = PACKED RECORD
        Ratio : byte;          {compression ratio of individual file}
        Status : longint;      {callback status code to show where we are}
        IsaDir : Boolean;      {is this file a directory?}
-END; {TReportRec}
+     END; {TReportRec}
 
 { callback status codes }
 CONST
-file_starting    = -1000;  {beginning the unzip process; file}
-file_unzipping   = -1001;  {continuing the unzip process; file}
-file_completed   = -1002;  {completed the unzip process; file}
-file_Failure     = -1003;  {failure in unzipping file}
-unzip_starting   = -1004;  {starting with a new ZIP file}
-unzip_completed  = -1005;  {completed this ZIP file}
+  file_starting    = -1000;  {beginning the unzip process; file}
+  file_unzipping   = -1001;  {continuing the unzip process; file}
+  file_completed   = -1002;  {completed the unzip process; file}
+  file_Failure     = -1003;  {failure in unzipping file}
+  unzip_starting   = -1004;  {starting with a new ZIP file}
+  unzip_completed  = -1005;  {completed this ZIP file}
 
 
 { procedural types for callbacks }
 TYPE
-UnzipReportProc  = PROCEDURE ( Retcode : longint;Rec : pReportRec );
-{$ifdef Delphi32}STDCALL;{$endif}
+  UnzipReportProc  = PROCEDURE ( Retcode : longint;Rec : pReportRec );
 { procedural type for "Report" callback: the callback function
   (if any) is called several times during the unzip process
 
@@ -96,7 +85,6 @@ UnzipReportProc  = PROCEDURE ( Retcode : longint;Rec : pReportRec );
 }
 
 UnzipQuestionProc = FUNCTION ( Rec : pReportRec ) : Boolean;
-{$ifdef Delphi32}STDCALL;{$endif}
 { procedural type for "Question" callback:if a file already
   exists, the callback (if any) will be called to ask whether
   the file should be overwritten by the one in the ZIP file;
@@ -131,28 +119,28 @@ CONST
 
 { the various unzip methods }
 CONST
-Unzipmethods : ARRAY [ 0..9 ] of pchar =
-  ( 'stored', 'shrunk', 'reduced 1', 'reduced 2', 'reduced 3',
-   'reduced 4', 'imploded', 'tokenized', 'deflated', 'skipped' );
+  Unzipmethods : ARRAY [ 0..9 ] of pchar =
+   ( 'stored', 'shrunk', 'reduced 1', 'reduced 2', 'reduced 3',
+     'reduced 4', 'imploded', 'tokenized', 'deflated', 'skipped' );
 
 { unzip actions being undertaken }
-CONST
-UnzipActions : ARRAY [ 0..9 ] of pchar =
-  ( 'copying', 'unshrinking', 'unreducing 1', 'unreducing 2', 'unreducing 3',
-   'unreducing 4', 'exploding', 'un-tokenizing', 'inflating', 'skipping' );
+  UnzipActions : ARRAY [ 0..9 ] of pchar =
+   ( 'copying', 'unshrinking', 'unreducing 1', 'unreducing 2', 'unreducing 3',
+     'unreducing 4', 'exploding', 'un-tokenizing', 'inflating', 'skipping' );
 
 { rudimentary "uppercase" function }
-FUNCTION Upper ( s : String ) : String;
+FUNCTION Upper (s : String ) : String;
 
 { remove path and return filename only }
 FUNCTION StripPath ( CONST s : String ) : String;
 
 IMPLEMENTATION
 
-FUNCTION Upper ( s : String ) : String;
+FUNCTION Upper (s : String ) : String;
 VAR i : integer;
 BEGIN
-   FOR i := 1 TO length ( s ) DO s [ i ] := Upcase ( s [ i ] );
+   FOR i := 1 TO length ( s ) DO
+     s [ i ] := Upcase ( s [ i ] );
    Upper := s;
 END;