Browse Source

+ add subversion for version output

pierre 23 years ago
parent
commit
a385c6c6cc
1 changed files with 24 additions and 5 deletions
  1. 24 5
      packages/gdbint/gdbver.pp

+ 24 - 5
packages/gdbint/gdbver.pp

@@ -20,23 +20,39 @@ const
   { This variable should be change with
     change in GDB CVS PM }
   Current_cvs_version : longint = 502;
+  Max_version_length = 25;
 
 var
   v5_version : array[0..0] of char;external name ver_name;
   v4_version : pchar;external name ver_name;
   version : pchar;
-  version_number : longint;
+  subver_str : string;
+  i, version_number,
+  subversion_number : longint;
+  error : word;
   only_ver : boolean;
 
 begin
   only_ver:=(Paramcount>0) and (ParamStr(1)='-n');
-  getmem(version,5);
-  strlcopy(version,@v5_version,4);
+  getmem(version,Max_version_length+1);
+  strlcopy(version,@v5_version,Max_version_length);
+  version[Max_version_length]:=#0;
   if (version[0] in ['4','5','6','7','8','9']) and (version[1]='.') then
     begin
       if not only_ver then
         Writeln('GDB version is ',pchar(@v5_version));
       version_number:=ord(version[0])-ord('0');
+      i:=2;
+      subver_str:='';
+      while version[i] in ['0'..'9'] do
+        begin
+          subver_str:=subver_str+version[i];
+          inc(i);
+        end;
+      val(subver_str,subversion_number,error);
+      if (error=0) and (subversion_number>=0) and
+         (subversion_number<=99) then
+        version_number:=version_number*100+subversion_number;
     end
   else if (version[0]='2') and (version[1]='0') and
           (version[2] in ['0'..'9']) and (version[3] in ['0'..'9']) then
@@ -51,7 +67,7 @@ begin
         Writeln('GDB version is ',v4_version);
       version_number:=ord(v4_version[0])-ord('0');
     end;
-  freemem(version,5);
+  freemem(version,Max_version_length+1);
   if only_ver then
     Write(version_number);
   Halt(version_number);
@@ -59,7 +75,10 @@ end.
 
 {
   $Log$
-  Revision 1.4  2002-01-24 09:14:40  pierre
+  Revision 1.5  2002-01-25 08:56:50  pierre
+   + add subversion for version output
+
+  Revision 1.4  2002/01/24 09:14:40  pierre
    * adapt to GDB 5.1
 
   Revision 1.3  2001/09/11 10:22:09  pierre