[AWS] AWS build problem
Tero Koskinen
tero.koskinen at iki.fi
Wed Jun 20 19:33:36 CEST 2007
Hi,
On Wed, 20 Jun 2007 12:31:32 -0400 Eric Benoit wrote:
> Pascal Obry wrote:
> > Looks like GNAT/GCC 4.2 does not contain the Ada.Calendar.Time_Zones new
> > Ada 2005 package.
>
> My concern now is GCC 4.3 for production use. Do we think these updates
> will be/can be backported to GCC 4.2?
I had same build problem on OpenBSD with GCC 4.2 and AWS GPL 2.3.0.
Currently, GCC 4.2 is only "Ada-enabled" compiler on OpenBSD and
I am stuck with it. The most of AWS GPL 2.3.0 changes seemed to be
cosmetic or Ada 2005 related, so I ended up using AWS GPL 2.2.0 and
applying few bug fixes (Null_Set and URL handling) from AWS GPL 2.3.0
(see the diff below).
#
#
# patch "src/aws-url.adb"
# from [f57b4717ff1101d9a573f951049762aec3faf9bb]
# to [eebb8f21ca27173e8c72f25fc1e72b5b820e0743]
#
# patch "src/aws-url.ads"
# from [7f33676dcc17c97a86cf388f5751f297cd00ef93]
# to [3556d9aa16228e531f84c74b0bfb97c0ccc0022f]
#
# patch "templates_parser/src/templates_parser-filter.adb"
# from [c1fcba775cfc39a6a00427e7f72d2bf3adfc3a66]
# to [e33a79ca2e2cdae891a1681a1c3ef182bd03af4f]
#
============================================================
--- src/aws-url.adb f57b4717ff1101d9a573f951049762aec3faf9bb
+++ src/aws-url.adb eebb8f21ca27173e8c72f25fc1e72b5b820e0743
@@ -232,10 +232,28 @@ package body AWS.URL is
Delete (URL_Path, 1, 1);
end if;
+ -- Look for all // references
+
+ K := 1;
+
+ loop
+ K := Index (URL_Path, "//", From => K);
+
+ exit when K = 0;
+
+ if K > 1 and then Slice (URL_Path, K - 1, K - 1) = ":" then
+ K := K + 1;
+ else
+ Delete (URL_Path, K, K);
+ end if;
+ end loop;
+
-- Look for all /./ references
+ K := 1;
+
loop
- K := Index (URL_Path, "/./");
+ K := Index (URL_Path, "/./", From => K);
exit when K = 0;
@@ -244,8 +262,10 @@ package body AWS.URL is
-- Checks for parent directory
+ P := 1;
+
loop
- K := Index (URL_Path, "/../");
+ K := Index (URL_Path, "/../", From => P);
exit when K = 0;
@@ -384,7 +404,7 @@ package body AWS.URL is
I2 := Strings.Fixed.Index (URL, "/");
I3 := Strings.Fixed.Index (URL, "@");
- -- Check for [user:pawwsord@]
+ -- Check for [user:password@]
if I1 /= 0 and then I3 /= 0 and then I1 < I3 then
-- We have [user:password@]
============================================================
--- src/aws-url.ads 7f33676dcc17c97a86cf388f5751f297cd00ef93
+++ src/aws-url.ads 3556d9aa16228e531f84c74b0bfb97c0ccc0022f
@@ -198,6 +198,6 @@ private
(Span => (Low => Character'Val (128),
High => Character'Val (Character'Pos (Character'Last))))
or
- Strings.Maps.To_Set (";/?:@&=+$,<>#%""{}|\^[]` ");
+ Strings.Maps.To_Set (";/?:@&=+$,<>#%""{}|\^[]`' ");
end AWS.URL;
============================================================
--- templates_parser/src/templates_parser-filter.adb c1fcba775cfc39a6a00427e7f72d2bf3adfc3a66
+++ templates_parser/src/templates_parser-filter.adb e33a79ca2e2cdae891a1681a1c3ef182bd03af4f
@@ -1991,6 +1991,9 @@ package body Filter is
return To_String (I_Params (N));
end;
+ elsif Translations = Null_Set then
+ return Str;
+
else
Pos := Association_Set.Containers.Find (Translations.Set.all, Str);
--
Tero Koskinen - http://iki.fi/tero.koskinen/
More information about the AWS
mailing list