En fait, j'ai récupérer un programme PERL qui permet de lire un fichier audio sur le serveur par un client http. J'aimerai trouver l'équivalent en C ou encore, passer le code PERL en C.
Voici le code PERL (appelé dans un tag HTML de type <EMBED>) :
sub read_audio()
{
my $msgid = param('msgid');
my &format = param('format');
my $path = "/var/spool/test.wav";
$msgid =~ /^\d\d\d\d$/ || die("Wrong msg ($msgid)!");
grep(/^${format}$/, keys %formats) || die("Wrong Format ($format)!");
# Mailbox and folder are already verified
if (open(AUDIO, "<$path"))
{
$size = -s $path;
$|=1;
print header(-type=>$formats{$format}->{'mime'}, -Content_length => $size);
while(($amt = sysread(AUDIO, $data, 4096)) > 0)
{
syswrite(STDOUT, $data, $amt);
}
close(AUDIO);
}
else
{
die("Cannot open $path\n");
}
}
Quelqu'un pourrait-il m'aider à comprendre le code en gras ? Je ne connais pas le PERL mais plutôt le C...
Merci d'avance.
Made