diff -Naur ../gscmxx-0.4.1.orig/share/perl/5.8.8/SCMxx.pm usr/share/perl/5.8.8/SCMxx.pm
--- ../gscmxx-0.4.1.orig/share/perl/5.8.8/SCMxx.pm	2002-11-23 13:46:05.000000000 +0100
+++ usr/share/perl/5.8.8/SCMxx.pm	2007-08-19 15:24:19.000000000 +0200
@@ -261,7 +261,7 @@
 	my $slot = shift || "all";
 	my $format = shift || "ARRAY";
 
-	my $smstxt = $self->docmd("--get --sms=$slot --file - 2>&1"); # /dev/null");
+	my $smstxt = $self->docmd("--get --sms --slot=$slot --out=- 2>&1"); # /dev/null");
 	my @tmp = split(/\n/, $smstxt);
 	$smstxt = "";
 	foreach (@tmp) {
@@ -319,17 +319,16 @@
 	my @tmp = split (/\n/, $tmp);
 	my $ismessage = 0;
 	foreach (@tmp) {
-		if ($_ eq "Message:") {
-			$ismessage = 1;
-			next;
-		}
-
 		if ($ismessage) {
 			$sms{Message} .= $_ . "\n";
 		} else {
 			my ($k, $v) = split(/: /, $_, 2);
 			$sms{$k} = $v if ($k && $v);
 		}
+		if ($sms{"Message length"})
+		{
+			$ismessage = 1;
+		}
 	}
 	if (exists $sms{To}) {
 		$sms{Type} = "out";
@@ -349,7 +348,7 @@
 
 	my $sms = $self->get_sms($slot, "TEXT");
 	if ($sms) {
-		my $result = $self->docmd("--remove --sms=$slot --file - 2>&1");
+		my $result = $self->docmd("--remove --sms --slot=$slot --out=- 2>&1");
 		return $result;
 	} else {
 		return "SMS not found!";
@@ -413,7 +412,7 @@
 	$pbook = uc($pbook);
 	my $tmptimeout = $self->{TIMEOUT}; 
 	$self->{TIMEOUT} = $timeout;
-	my $result = $self->docmd("--get --pbook=$pbook --file - 2>&1");
+	my $result = $self->docmd("--get --pbook --mem=$pbook --file - 2>&1");
 #	my $result = `cat /tmp/pbook/`;
 	$self->{TIMEOUT} = $tmptimeout;
 
@@ -596,7 +595,7 @@
     close (PBOOK);
 	my $timeout = $self->{TIMEOUT}; 
 	$self->{TIMEOUT} = $self->{PBTIMEOUT};
-	my $options = "-v --send --pbook=$pbook $tmpfile ";
+	my $options = "-v --send --pbook --mem=$pbook $tmpfile ";
 	$options .= "--pin $pin2 " if $pin2;
 	$options .= "2>&1"; 
 	my $result = $self->docmd($options);
@@ -1102,7 +1101,7 @@
 |;
 		return $tmp;		
 	}
-	my $cmd = "$self->{SCMXX} -d $self->{DEVICE} -b $self->{BAUDRATE} $options ";
+	my $cmd = "/bin/sh -c 'LC_ALL=C $self->{SCMXX} -d $self->{DEVICE} -b $self->{BAUDRATE} $options'";
 	print STDERR "Executing CMD: $cmd\n\n" if $SCMxx::DEBUG;
 	my $result;
 	my $pid = open (CMD, "$cmd | ") || warn "Can't open $cmd";

