Date: Mon, 6 Nov 2000 10:07:43 -0600
Received: (qmail 27921 invoked by alias); 6 Nov 2000 16:14:15 -0000
Mailing-List: contact htdig3-bugs-help@htdig.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
Delivered-To: mailing list htdig3-bugs@htdig.org
Received: (qmail 27916 invoked from network); 6 Nov 2000 16:14:14 -0000
Received: from localhost (htdig@127.0.0.1)
  by localhost with SMTP; 6 Nov 2000 16:14:14 -0000
From: matthias@hrz.uni-kassel.de
To: ht3bugs@htdig.org
Subject: AIX xlC compilation patch (PR#942)
CC: htdig3-bugs@htdig.org
X-Loop: htdig3-bugs@htdig.org


Hello,

htdig 3.1.5 does not compile out of the box on AIX 4.2 with the AIX C++
compiler, xlC. In order for it to compile, two minor changes must be made
in 

htdig/Retriever.cc

which I append as an attachment (context diff). Since the changes are easy
to make but not trivial for non-programmers, you might want to incorporate
them into the standard distribution. They should not break anything on
other systems.

Thanks,

Andreas Matthias

---
Andreas Matthias
Hochschulrechenzentrum, Abt. Anwendungen
Raum 1130, Tel. ++49/561/804-2281 (voice)
matthias@hrz.uni-kassel.de 
http://www.uni-kassel.de/hrz/anwendungen/matthias

PGP Public Key mit Mail an: pgp-public-keys@keys.de.pgp.net,
                   Subject: get matthias@hrz.uni-kassel.de
Sprechzeiten: Montag,Dienstag      9-16 Uhr
              Mittwoch             9-12 Uhr

-------------------------------------------------------------

*** Retriever.cc.orig	Mon Nov  6 16:53:18 2000
--- Retriever.cc	Mon Nov  6 16:55:00 2000
***************
*** 823,829 ****
      if (strstr(url, ".."))
          return 0;
      
!     String *prefix, *path;
      StringList *local_names = new StringList();
      prefixes->Start_Get();
      paths->Start_Get();
--- 823,829 ----
      if (strstr(url, ".."))
          return 0;
      
!     String *prefix, *path, *defaultdoc;
      StringList *local_names = new StringList();
      prefixes->Start_Get();
      paths->Start_Get();
***************
*** 837,843 ****
  	    *local += &url[prefix->length()];
  	    if (local->last() == '/' && defaultdocs) {
  	      defaultdocs->Start_Get();
! 	      while (String *defaultdoc = (String *)defaultdocs->Get_Next()) {
  		String *localdefault = new String(*local, local->length()+defaultdoc->length()+1);
  		localdefault->append(*defaultdoc);
  		local_names->Add(localdefault);
--- 837,843 ----
  	    *local += &url[prefix->length()];
  	    if (local->last() == '/' && defaultdocs) {
  	      defaultdocs->Start_Get();
! 	      while (defaultdoc = (String *)defaultdocs->Get_Next()) {
  		String *localdefault = new String(*local, local->length()+defaultdoc->length()+1);
  		localdefault->append(*defaultdoc);
  		local_names->Add(localdefault);
***************
*** 868,873 ****
--- 868,874 ----
  {
      static StringList *prefixes = 0, *paths = 0, *dirs = 0;
      static Dictionary home_cache;
+     String *defaultdoc;
  
      //
      // Initialize prefix/path list if this is the first time.
***************
*** 964,970 ****
  	*local += rest;
  	if (local->last() == '/' && defaultdocs) {
  	  defaultdocs->Start_Get();
! 	  while (String *defaultdoc = (String *)defaultdocs->Get_Next()) {
  	    String *localdefault = new String(*local, local->length()+defaultdoc->length()+1);
  	    localdefault->append(*defaultdoc);
  	    local_names->Add(localdefault);
--- 965,971 ----
  	*local += rest;
  	if (local->last() == '/' && defaultdocs) {
  	  defaultdocs->Start_Get();
! 	  while (defaultdoc = (String *)defaultdocs->Get_Next()) {
  	    String *localdefault = new String(*local, local->length()+defaultdoc->length()+1);
  	    localdefault->append(*defaultdoc);
  	    local_names->Add(localdefault);

