Address Reviewer Comments

Address Reviewer Comments
This commit is contained in:
Mark McKinnon 2021-08-30 13:01:17 -04:00
parent db1f0e020d
commit 07f39ddaa6
4 changed files with 19 additions and 36 deletions

View File

@ -42,7 +42,6 @@
package shellbags;
use strict;
use Time::Local;
use Encode::Unicode;
my %config = (hive => "USRCLASS\.DAT",
hivemask => 32,
@ -861,10 +860,10 @@ sub parseFolderEntry {
my $longname = (split(/\00\00/,$str,2))[0];
if ($longname ne "") {
$item{name} = _uniToAscii($longname);
$item{name} = Utf16ToUtf8($longname);
}
else {
$item{name} = _uniToAscii($shortname);
$item{name} = UTF16ToUtf8($shortname);
}
}
return %item;
@ -957,7 +956,7 @@ sub parseFolderEntry2 {
$item{name} = (split(/\00\00/,$str,2))[0];
$item{name} =~ s/\13\20/\2D\00/;
$item{name} = _uniToAscii($item{name});
$item{name} = Utf16ToUtf8($item{name});
return %item;
}
@ -1120,13 +1119,14 @@ sub getNum48 {
}
#---------------------------------------------------------------------
# _uniToAscii()
# Utf16ToUtf8()
#---------------------------------------------------------------------
sub _uniToAscii {
sub Utf16ToUtf8 {
my $str = $_[0];
Encode::from_to($str,'UTF-16LE','utf8');
$str = Encode::decode_utf8($str);
return $str;
}
1;

View File

@ -8,7 +8,6 @@
#-----------------------------------------------------------
package shellbags_test;
use strict;
use Encode::Unicode;
require 'shellitems.pl';
@ -412,22 +411,13 @@ sub parseFolderItem {
$longname =~ s/\x00//g;
if ($longname ne "") {
$item{name} = _uniToAscii($longname);
$item{name} = Utf16ToUtf8($longname);
}
else {
$item{name} = _uniToAscii($shortname);
$item{name} = Utf16ToUtf8($shortname);
}
return %item;
}
#---------------------------------------------------------------------
# _uniToAscii()
#---------------------------------------------------------------------
sub _uniToAscii {
my $str = $_[0];
Encode::from_to($str,'UTF-16LE','utf8');
$str = Encode::decode_utf8($str);
return $str;
}
1;

View File

@ -36,7 +36,9 @@
package shellbags_xp;
use strict;
use Time::Local;
use Encode::Unicode;
require 'shellitems.pl';
my %config = (hive => "NTUSER\.DAT",
hivemask => 32,
@ -780,10 +782,10 @@ sub parseFolderEntry {
$longname =~ s/\x00//g;
if ($longname ne "") {
$item{name} = _uniToAscii($longname);
$item{name} = Utf16ToUtf8($longname);
}
else {
$item{name} = _uniToAscii($shortname);
$item{name} = _Utf16ToUtf8($shortname);
}
return %item;
}
@ -872,7 +874,7 @@ sub parseFolderEntry2 {
$item{name} = (split(/\x00\x00/,$str,2))[0];
$item{name} =~ s/\x13\x20/\x2D\x00/;
$item{name} = _uniToAscii($item{name});
$item{name} = Utf16ToUtf8($item{name});
return %item;
}
@ -932,14 +934,5 @@ sub printData {
return @display;
}
#---------------------------------------------------------------------
# _uniToAscii()
#---------------------------------------------------------------------
sub _uniToAscii {
my $str = $_[0];
Encode::from_to($str,'UTF-16LE','utf8');
$str = Encode::decode_utf8($str);
return $str;
}
1;

View File

@ -635,10 +635,10 @@ sub parseFolderEntry {
$longname =~ s/\x00//g;
if ($longname ne "") {
$item{name} = _uniToAscii($longname);
$item{name} = Utf16ToUtf8($longname);
}
else {
$item{name} = _uniToAscii($shortname);
$item{name} = Utf16ToUtf8($shortname);
}
return %item;
}
@ -717,7 +717,7 @@ sub parseFolderEntry2 {
$item{name} = (split(/\x00\x00/,$str,2))[0];
$item{name} =~ s/\x13\x20/\x2D\x00/;
$item{name} = _uniToAscii($item{name});
$item{name} = Utf16ToUtf8($item{name});
return %item;
}
@ -839,9 +839,9 @@ sub getNum48 {
}
#---------------------------------------------------------------------
# _uniToAscii()
# Utf16ToUtf8()
#---------------------------------------------------------------------
sub _uniToAscii {
sub Utf16ToUtf8 {
my $str = $_[0];
Encode::from_to($str,'UTF-16LE','utf8');
$str = Encode::decode_utf8($str);