svn commit: samba r12205 - in branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal: .

jelmer at samba.org jelmer at samba.org
Tue Dec 13 01:56:05 GMT 2005


Author: jelmer
Date: 2005-12-13 01:56:04 +0000 (Tue, 13 Dec 2005)
New Revision: 12205

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12205

Log:
Support 'TFS' command in conformance files

Modified:
   branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm
   branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal/NDR.pm


Changeset:
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm	2005-12-13 00:44:25 UTC (rev 12204)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm	2005-12-13 01:56:04 UTC (rev 12205)
@@ -70,6 +70,10 @@
 Code to insert when generating the specified dissector. @HF@ and 
 @PARAM@ will be substituted.
 
+=item I<TFS> hf_name "true string" "false string"
+
+Override the text shown when a bitmap boolean value is enabled or disabled.
+
 =back
 
 =head1 EXAMPLE
@@ -125,12 +129,27 @@
 	};
 }
 
+sub handle_tfs($$$$$)
+{
+	my ($pos,$data,$hf,$trues,$falses) = @_;
+
+	unless(defined($falses)) {
+		print "$pos: error: incomplete TFS command\n";
+		return;
+	}
+
+	$data->{tfs}->{$hf} = {
+		TRUE_STRING => $trues,
+		FALSE_STRING => $falses
+	};
+}
+
 sub handle_hf_rename($$$$)
 {
 	my ($pos,$data,$old,$new) = @_;
 
 	unless(defined($new)) {
-		print "$pos: error incomplete HF_RENAME command\n";
+		print "$pos: error: incomplete HF_RENAME command\n";
 		return;
 	}
 
@@ -272,6 +291,7 @@
 	PARAM_VALUE => \&handle_param_value, 
 	HF_FIELD => \&handle_hf_field, 
 	HF_RENAME => \&handle_hf_rename, 
+	TFS => \&handle_tfs,
 	STRIP_PREFIX => \&handle_strip_prefix,
 	PROTOCOL => \&handle_protocol,
 	FIELD_DESCRIPTION => \&handle_fielddescription,

Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal/NDR.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal/NDR.pm	2005-12-13 00:44:25 UTC (rev 12204)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Ethereal/NDR.pm	2005-12-13 01:56:04 UTC (rev 12205)
@@ -203,8 +203,13 @@
 		register_hf_field($hf_bitname, field2name($en), $filtername, "FT_BOOLEAN", $e->{ALIGN} * 8, "TFS(&$name\_$en\_tfs)", $ev, "");
 
 		pidl_def "static const true_false_string $name\_$en\_tfs = {";
-		pidl_def "   \"$en is SET\",";
-		pidl_def "   \"$en is NOT SET\",";
+		if (defined($conformance->{tfs}->{$hf_bitname})) {
+			pidl_def "   $conformance->{tfs}->{$hf_bitname}->{TRUE_STRING},";
+			pidl_def "   $conformance->{tfs}->{$hf_bitname}->{FALSE_STRING},";
+		} else {
+			pidl_def "   \"$en is SET\",";
+			pidl_def "   \"$en is NOT SET\",";
+		}
 		pidl_def "};";
 		
 		pidl_code "proto_tree_add_boolean(tree, $hf_bitname, tvb, offset-$e->{ALIGN}, $e->{ALIGN}, flags);";



More information about the samba-cvs mailing list