From: Ansgar Burchardt Bug-Debian: http://bugs.debian.org/624916 Subject: Fix FTBFS with gcc-4.6 Update: Add missing this->'s to appease Clang Update2: Convert to Python 3.x syntax (2020/01/28) --- engine/sl08/sl08.py.orig 2008-08-13 09:10:45 UTC +++ engine/sl08/sl08.py @@ -26,7 +26,7 @@ class Generator(object): def prototype(self, proto): r = '(' - for i in xrange(0, self.__n): + for i in range(0, self.__n): if proto: r = r + "arg%d_type " %(i + 1) r = r + "a%d" %(i + 1) @@ -41,14 +41,14 @@ class Generator(object): r = ' 0: r = r + ", " r = r + "typename arg%d_type" %(i + 1) r = r + ">" return r elif cname == 'signal': - for i in xrange(0, self.__n): + for i in range(0, self.__n): if not void or i > 0: r = r + ", " r = r + "typename arg%d_type" %(i + 1) @@ -61,7 +61,7 @@ class Generator(object): r = r + "class validator_type = default_validator >" return r elif cname == 'slot': - for i in xrange(0, self.__n): + for i in range(0, self.__n): if not void or i > 0: r = r + ", " r = r + "typename arg%d_type" %(i + 1) @@ -70,7 +70,7 @@ class Generator(object): r = r + "class object_type>" return r elif cname == 'base-slot': - for i in xrange(0, self.__n): + for i in range(0, self.__n): if not void or i > 0: r = r + ", " r = r + "typename arg%d_type" %(i + 1) @@ -86,22 +86,22 @@ class Generator(object): r = '" return r elif cname == 'signal': - for i in xrange(0, self.__n): + for i in range(0, self.__n): r = r + ", arg%d_type" %(i + 1) r = r + ", validator_type>" return r elif cname == 'slot': - for i in xrange(0, self.__n): + for i in range(0, self.__n): r = r + ", arg%d_type" %(i + 1) r = r + ", object_type>" return r elif cname == 'base-slot': - for i in xrange(0, self.__n): + for i in range(0, self.__n): r = r + ", arg%d_type" %(i + 1) r = r + ">" return r @@ -152,11 +152,11 @@ class Generator(object): typedef base_signalXXX %s signal_type; typedef return_type (object_type::*func_t) %s; - inline slotXXX () : object(NULL), func(NULL) {} - inline slotXXX(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {} + inline slotXXX () : object(0), func(0) {} + inline slotXXX(object_type *object, func_t func, signal_type * signal = 0) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); } inline return_type operator() %s const { return (object->*func) %s ; @@ -187,10 +187,10 @@ class Generator(object): typedef base_signalXXX %s signal_type; typedef void (object_type::*func_t) %s ; - inline slotXXX () : object(NULL), func(NULL) {} + inline slotXXX () : object(0), func(0) {} inline slotXXX (object_type *object, func_t func) : object(object), func(func) {} inline void assign(object_type *o, func_t f) { object = o; func = f; } - inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); } + inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); } inline void operator() %s const { (object->*func) %s; @@ -329,11 +329,11 @@ class Generator(object): text = '' -for i in xrange(0, 6): +for i in range(0, 6): g = Generator(i) text = text + "\n" + g.generate(); -print """#ifndef BTANKS_SL08_SLOTSANDSIGNALS_H__ +print("""#ifndef BTANKS_SL08_SLOTSANDSIGNALS_H__ #define BTANKS_SL08_SLOTSANDSIGNALS_H__ /* sl08 - small slot/signals library @@ -387,5 +387,5 @@ namespace sl08 { } #endif -""" %(text); +""" %(text));