Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > Perl to C++

Reply
Thread Tools

Perl to C++

 
 
miztaken
Guest
Posts: n/a
 
      05-19-2008
Hi there,
can somebody convert the following perl code to C++

sub OleUnpackPackages {
my($this, $explodeinto, $parentname, @NativeFilenames) = @_;

my($infh, $byte, $number, $buffer, $outname);
my($finished);

OLEFILE: foreach my $inname (@NativeFilenames) {
$byte = "";
$buffer = "";
close $infh if $infh;
$infh = new FileHandle;
sysopen $infh, "$explodeinto/$inname", O_RDONLY; sysseek $infh,
6, SEEK_SET; # Skip 1st 6 bytes
$outname = "";
$finished = 0;
until ($byte eq "\0" || $finished) { # Read a C-string into
$outname
sysread($infh, $byte, 1) or $finished = 1;
$outname .= $byte;
}
# Then there is a null-terminated ASCII string which is the filename
of the object.
#print STDERR "Output filename is $outname\n";
$finished = 0;
$byte = 1;
until ($byte eq "\0" || $finished) { # Throw away a C-string
sysread($infh, $byte, 1) or $finished = 1;
}
# Throw away the next null-terminated ASCII string
sysseek $infh, 4, Fcntl::SEEK_CUR or next OLEFILE; # Skip next 4
bytes
# Throw away next 4 byte int
sysread $infh, $number, 4 or next OLEFILE;
$number = unpack 'V', $number;
# The next 4 bytes are an int giving the length of the next bit of the
header
#print STDERR "Skipping $number bytes of header filename\n";
sysseek $infh, $number, Fcntl::SEEK_CUR; # Skip the next bit of
header (C-string)
# Skip over the next bit of the header whose length we just read
sysread $infh, $number, 4 or next OLEFILE;
$number = unpack 'V', $number;
#print STDERR "Reading $number bytes of file data\n";
# Then you have a 4-byte int which is the length of the real embedded
original file
sysread $infh, $buffer, $number
if $number < -s "$explodeinto/$inname"; # Sanity check
# Read in all the data of the original embedded file
my $outfh = new FileHandle;
my $outsafe = $this->MakeNameSafe($outname, $explodeinto);
sysopen $outfh, "$explodeinto/$outsafe", (O_CREAT | O_WRONLY)
or next OLEFILE;
syswrite $outfh, $buffer, $number or next OLEFILE;
close $outfh;
# Set up MailScanner data structures
$this->{file2parent}{$outname} = $parentname;
$this->{file2parent}{$outsafe} = $parentname;
$this->{file2safefile}{$outname} = $outsafe;
$this->{safefile2file}{$outsafe} = $outname;

}
close $infh if $infh;

}

You help will be highly appreciated.

Thank You
miztaken
 
Reply With Quote
 
 
 
 
Ian Collins
Guest
Posts: n/a
 
      05-19-2008
miztaken wrote:
> Hi there,
> can somebody convert the following perl code to C++
>

I'm sure they can, for an appropriate fee. This isn't the place to ask.

--
Ian Collins.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
FAQ 2.17 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? PerlFAQ Server Perl Misc 0 04-04-2011 10:00 PM
FAQ 1.4 What are Perl 4, Perl 5, or Perl 6? PerlFAQ Server Perl Misc 0 02-27-2011 11:00 PM
FAQ 2.17 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? PerlFAQ Server Perl Misc 0 02-03-2011 11:00 AM
FAQ 1.4 What are Perl 4, Perl 5, or Perl 6? PerlFAQ Server Perl Misc 0 01-23-2011 05:00 AM
Perl Help - Windows Perl script accessing a Unix perl Script dpackwood Perl 3 09-30-2003 02:56 AM



Advertisments