[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: errno intersects APR error codes

From: Daniel Shahaf <danielsh_at_apache.org>
Date: Fri, 31 May 2013 10:23:48 +0000

On Fri, May 31, 2013 at 11:30:57AM +0200, Branko Čibej wrote:
> I meant specifically the bit that prints that warning, which maybe shouldn't
> be quite so platform-agnostic.

Agreed. I don't have a windows box to test the following patch on:

Index: build/generator/gen_base.py
===================================================================
--- build/generator/gen_base.py (revision 1488101)
+++ build/generator/gen_base.py (working copy)
@@ -239,8 +239,7 @@ class GeneratorBase:
         except: pass
         os.rename(new_hdrfile, hdrfile)
 
- @staticmethod
- def write_errno_table():
+ def write_errno_table(self):
     # ### We generate errorcode.inc at autogen.sh time (here!).
     # ###
     # ### Currently it's only used by maintainer-mode builds. If this
@@ -278,9 +277,12 @@ class GeneratorBase:
 
     ## sanity check
     intersection = set(errno.errorcode.keys()) & set(dict(aprerr).keys())
- if intersection:
+ if self.errno_filter(intersection):
         print("WARNING: errno intersects APR error codes: %r" % intersection)
 
+ def errno_filter(self, codes):
+ return codes
+
 class DependencyGraph:
   """Record dependencies between build items.
 
Index: build/generator/gen_win.py
===================================================================
--- build/generator/gen_win.py (revision 1488100)
+++ build/generator/gen_win.py (working copy)
@@ -337,6 +337,11 @@ class WinGeneratorBase(GeneratorBase):
     else:
       print("%s not found; skipping SWIG file generation..." % self.swig_exe)
 
+ def errno_filter(codes):
+ "Callback for gen_base.write_errno_table()."
+ # Filter out apr_errno.h SOC* codes, which alias the windows API names.
+ return set(filter(lambda code: not (10000 <= code <= 10100), codes))
+
   def find_rootpath(self):
     "Gets the root path as understand by the project system"
     return os.path.relpath('.', self.projfilesdir) + "\\"
Received on 2013-05-31 12:23:57 CEST

This is an archived mail posted to the Subversion Dev mailing list.