summaryrefslogtreecommitdiff
path: root/source4/pidl/lib/Parse/Pidl/Samba4
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-04-15 22:08:49 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-04-15 22:08:49 +0200
commit038987543043346cdcd8a4b8fe2970cd1350a7a7 (patch)
tree63df88d6cc354bd766a4b9b3f36d3e43bf67872b /source4/pidl/lib/Parse/Pidl/Samba4
parentf01c377bc039b776ded213f455cdb79d682ae7b2 (diff)
parentb708a3d1e7f8d98bc6cedad8d405b1434d32a22e (diff)
downloadsamba-038987543043346cdcd8a4b8fe2970cd1350a7a7.tar.gz
samba-038987543043346cdcd8a4b8fe2970cd1350a7a7.tar.bz2
samba-038987543043346cdcd8a4b8fe2970cd1350a7a7.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into registry
(This used to be commit 70ebb22c3df178a26c26c0a25c5722ff9ccdb0b4)
Diffstat (limited to 'source4/pidl/lib/Parse/Pidl/Samba4')
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba4/Python.pm11
1 files changed, 5 insertions, 6 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm b/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm
index acaea99f6d..2d12da358c 100644
--- a/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/source4/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -952,16 +952,15 @@ sub ConvertObjectToPythonLevel($$$$$)
$self->pidl("}");
}
} elsif ($l->{TYPE} eq "ARRAY") {
- if (is_charset_array($e, $l)) {
+ my $pl = GetPrevLevel($e, $l);
+ if ($pl && $pl->{TYPE} eq "POINTER") {
$var_name = get_pointer_to($var_name);
+ }
+
+ if (is_charset_array($e, $l)) {
# FIXME: Use Unix charset setting rather than utf-8
$self->pidl("$py_var = PyUnicode_Decode($var_name, strlen($var_name), \"utf-8\", \"ignore\");");
} else {
- my $pl = GetPrevLevel($e, $l);
- if ($pl && $pl->{TYPE} eq "POINTER") {
- $var_name = get_pointer_to($var_name);
- }
-
die("No SIZE_IS for array $var_name") unless (defined($l->{SIZE_IS}));
my $length = $l->{SIZE_IS};
if (defined($l->{LENGTH_IS})) {