From 9f8cdead6e29f029e01038ecb4fbd6216544e996 Mon Sep 17 00:00:00 2001 From: Magnus Enger Date: Thu, 17 Aug 2017 22:48:07 +0200 Subject: [PATCH] Bug 19134: C4::SMS falils on long driver name Code in C4::SMS takes the part of the SMS::Send-driver that comes after SMS::Send and tries to turn it into part of a path to a YAML file that can contain additional parameters to SMS::Send. The current code works for e.g. SMS::Send::A::B, but if there is one or more extra names, it fails to turn :: into /. So we have: SMS::Send::A::B -> SMS/Send/A/B SMS::Send::A::B::C -> SMS/Send/A/B::C This patch makes sure all occurrences of :: are turned into /, by adding a "g" modifier at the end of the regex. Testing: Testing this preperly would take a whole lot of setup for a very small change. I would suggest that the following two oneliners are enough to demonstrate that the change makes sense: $ perl -e '$x = "a::b::c"; $x =~ s|::|/|; print $x, "\n";' $ perl -e '$x = "a::b::c"; $x =~ s|::|/|g; print $x, "\n";' So: - Check that the output of these oneliners make sense - Check that the patch changes the code in a similar way to the change from the first oneliner to the second. Signed-off-by: Aleisha Amohia Signed-off-by: Marcel de Rooy Signed-off-by: Jonathan Druart (cherry picked from commit a4237785d9a2bf2bbf4cf988bc98ac4935842e91) Signed-off-by: Fridolin Somers --- C4/SMS.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/SMS.pm b/C4/SMS.pm index 1043c0b32d..eff72b358c 100644 --- a/C4/SMS.pm +++ b/C4/SMS.pm @@ -92,7 +92,7 @@ sub send_sms { my ($sent, $sender); my $subpath = $driver; - $subpath =~ s|::|/|; + $subpath =~ s|::|/|g; my $sms_send_config = C4::Context->config('sms_send_config'); my $conf_file = defined $sms_send_config -- 2.39.5