pidl: Remove multiple copies of get_pointer_of and get_value_of.
authorJelmer Vernooij <jelmer@samba.org>
Fri, 11 Jan 2008 19:19:47 +0000 (20:19 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 11 Jan 2008 19:37:21 +0000 (20:37 +0100)
source/pidl/lib/Parse/Pidl/CUtil.pm [new file with mode: 0644]
source/pidl/lib/Parse/Pidl/Samba4/EJS.pm
source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm

diff --git a/source/pidl/lib/Parse/Pidl/CUtil.pm b/source/pidl/lib/Parse/Pidl/CUtil.pm
new file mode 100644 (file)
index 0000000..bd7b168
--- /dev/null
@@ -0,0 +1,39 @@
+###################################################
+# C utility functions for pidl
+# Copyright jelmer@samba.org 2005-2007
+# released under the GNU GPL
+package Parse::Pidl::CUtil;
+
+require Exporter;
+@ISA = qw(Exporter);
+@EXPORT = qw(get_pointer_to get_value_of);
+use vars qw($VERSION);
+$VERSION = '0.01';
+
+use strict;
+
+sub get_pointer_to($)
+{
+       my $var_name = shift;
+       
+       if ($var_name =~ /^\*(.*)$/) {
+               return $1;
+       } elsif ($var_name =~ /^\&(.*)$/) {
+               return "&($var_name)";
+       } else {
+               return "&$var_name";
+       }
+}
+
+sub get_value_of($)
+{
+       my $var_name = shift;
+
+       if ($var_name =~ /^\&(.*)$/) {
+               return $1;
+       } else {
+               return "*$var_name";
+       }
+}
+
+1;
index 2e9bc0953c84e3ba47df0496f11da0874fa92a21..36cc469ff6425787929a9c5d8a67415db3ee5a68 100644 (file)
@@ -8,10 +8,11 @@ package Parse::Pidl::Samba4::EJS;
 
 use Exporter;
 @ISA = qw(Exporter);
-@EXPORT_OK = qw(get_pointer_to get_value_of check_null_pointer fn_declare TypeFunctionName);
+@EXPORT_OK = qw(check_null_pointer fn_declare TypeFunctionName);
 
 use strict;
 use Parse::Pidl::Typelist;
+use Parse::Pidl::CUtil qw(get_pointer_to get_value_of);
 use Parse::Pidl::Util qw(has_property ParseExpr);
 use Parse::Pidl::NDR qw(GetPrevLevel GetNextLevel);
 use Parse::Pidl::Samba4::NDR::Parser qw(GenerateStructEnv GenerateFunctionInEnv
@@ -54,30 +55,6 @@ sub deindent($)
        $self->{tabs} = substr($self->{tabs}, 0, -1);
 }
 
-sub get_pointer_to($)
-{
-       my $var_name = shift;
-       
-       if ($var_name =~ /^\*(.*)$/) {
-               return $1;
-       } elsif ($var_name =~ /^\&(.*)$/) {
-               return "&($var_name)";
-       } else {
-               return "&$var_name";
-       }
-}
-
-sub get_value_of($)
-{
-       my $var_name = shift;
-
-       if ($var_name =~ /^\&(.*)$/) {
-               return $1;
-       } else {
-               return "*$var_name";
-       }
-}
-
 #####################################################################
 # check that a variable we get from ParseExpr isn't a null pointer
 sub check_null_pointer($$)
index c9b48b017c85f1c4296a1438c5602dcb65e76694..a261910c17533a50491837aa4cc96472d469f30a 100644 (file)
@@ -14,6 +14,7 @@ require Exporter;
 use strict;
 use Parse::Pidl::Typelist qw(hasType getType mapTypeName);
 use Parse::Pidl::Util qw(has_property ParseExpr ParseExprExt print_uuid);
+use Parse::Pidl::CUtil qw(get_pointer_to get_value_of);
 use Parse::Pidl::NDR qw(GetPrevLevel GetNextLevel ContainsDeferred);
 use Parse::Pidl::Samba4 qw(is_intree choose_header);
 use Parse::Pidl qw(warning);
@@ -89,29 +90,6 @@ sub is_charset_array($$)
        return has_property($e, "charset");
 }
 
-sub get_pointer_to($)
-{
-       my $var_name = shift;
-       
-       if ($var_name =~ /^\*(.*)$/) {
-               return $1;
-       } elsif ($var_name =~ /^\&(.*)$/) {
-               return "&($var_name)";
-       } else {
-               return "&$var_name";
-       }
-}
-
-sub get_value_of($)
-{
-       my $var_name = shift;
-
-       if ($var_name =~ /^\&(.*)$/) {
-               return $1;
-       } else {
-               return "*$var_name";
-       }
-}
 
 ####################################
 # pidl() is our basic output routine