- initial import of revision 374 from cnc
[apt.git] / python / swig-1.3.16-cxx.patch
1
2 This patch is needed if you want to recompile the SWIG wrappers.
3
4                                              -- Gustavo Niemeyer
5
6
7 Index: Source/Modules1.1/lang.cxx
8 ===================================================================
9 --- Source/Modules1.1/lang.cxx
10 +++ Source/Modules1.1/lang.cxx  2002-11-21 00:45:46.000000000 -0200
11 @@ -1457,13 +1457,19 @@
12         }
13        }
14      } else {
15 -      if (name && (Cmp(name,ClassName)) && !(Getattr(n,"template"))) {
16 +      String *namelast = Swig_scopename_last(name);
17 +      String *classlast = Swig_scopename_last(ClassName);
18 +      if (name && (Cmp(namelast,classlast)) && !(Getattr(n,"template"))) {
19         Printf(stdout,"name = '%s', ClassName='%s'\n", name, ClassName);
20         Swig_warning(WARN_LANG_RETURN_TYPE, input_file,line_number,"Function %s must have a return type.\n", 
21                      name);
22         Swig_restore(&n);
23 +       Delete(namelast);
24 +       Delete(classlast);
25         return SWIG_NOWRAP;
26        }
27 +      Delete(namelast);
28 +      Delete(classlast);
29        constructorHandler(n);
30      }
31    }
32 Index: Source/Swig/symbol.c
33 ===================================================================
34 --- Source/Swig/symbol.c
35 +++ Source/Swig/symbol.c        2002-11-21 00:46:03.000000000 -0200
36 @@ -762,11 +762,16 @@
37      } else {
38        String *prefix = Swig_scopename_prefix(name);
39        if (prefix) {
40 -       s = symbol_lookup_qualified(name,hsym,0,0);
41 +       Node *pn = Swig_symbol_clookup(prefix,hsym);
42 +       if (pn && Strcmp(nodeType(pn),"namespace") == 0) {
43 +         s = symbol_lookup_qualified(name,hsym,0,0);
44 +       }
45         Delete(prefix);
46 +       /*
47         if (!s) {
48           return 0;
49         }
50 +       */
51        }
52      }
53    }