Python 3 default args fix

Fix 0U and 0L as default args for Python 3 (tests committed in
previously commit of default_args.i).
Relates to issue #294.
This commit is contained in:
William S Fulton 2015-01-13 07:52:48 +00:00
commit 944fbfb426
2 changed files with 11 additions and 3 deletions

View file

@ -27,6 +27,12 @@
void seek3(long offset = 0L) {}
void seek4(unsigned long offset = 0UL) {}
void seek5(unsigned long offset = 0U) {}
void seek6(unsigned long offset = 02U) {}
void seek7(unsigned long offset = 00U) {}
void seek8(unsigned long offset = 1U) {}
void seek9(long offset = 1L) {}
void seekA(long long offset = 1LL) {}
void seekB(unsigned long long offset = 1ULL) {}
// Anonymous arguments
int anonymous(int = 7771);

View file

@ -1923,9 +1923,11 @@ public:
// to be "0o" in Python 3 only (and as long as we still support Python
// 2.5, this can't be done unconditionally).
if (py3) {
String *res = NewString("0o");
Append(res, NewStringWithSize(s + 1, end - s - 1));
return res;
if (end - s > 1) {
String *res = NewString("0o");
Append(res, NewStringWithSize(s + 1, end - s - 1));
return res;
}
}
}
}