From 537737a34b1c329ef6fcd3c7df11500b4179efa6 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Mon, 28 Feb 2011 17:29:49 +0000 Subject: [PATCH] correctly pack multiple arguments --- lib/MojoX/Gearman.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/MojoX/Gearman.pm b/lib/MojoX/Gearman.pm index 6565e30..8c87379 100644 --- a/lib/MojoX/Gearman.pm +++ b/lib/MojoX/Gearman.pm @@ -74,7 +74,9 @@ sub connected { } sub req { - my ( $self, $type, $data ) = @_; + my $self = shift; + my $type = shift; + my $data = join("\0", @_); Mojo::Util::encode($self->encoding, $data) if $self->encoding; @@ -86,12 +88,11 @@ sub req { warn "# <<<< ",dump($data); my ($magic, $type, $len) = unpack( "a4NN", $data ); die "wrong magic [$magic]" unless $magic eq "\0RES"; - $ret = $data; + $ret = substr($data,12,$len); }; - $data .= "\x00"; my $len = length($data); - my $message = pack("a4NN", "\0REQ", 16, length $data ) . $data; + my $message = pack("a4NN", "\0REQ", $type, length $data ) . $data; warn "# >>>> ",dump($data); my $mqueue = $self->{_message_queue} ||= []; -- 2.20.1