|
Packit |
8f70b4 |
#include <config.h>
|
|
Packit |
8f70b4 |
#include <unistd.h>
|
|
Packit |
8f70b4 |
#include "FileAccess.h"
|
|
Packit |
8f70b4 |
#include "log.h"
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
char *program_name;
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
int main(int argc,char **argv)
|
|
Packit |
8f70b4 |
{
|
|
Packit |
8f70b4 |
program_name=argv[0];
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
Log::global=new Log("debug");
|
|
Packit |
8f70b4 |
ResMgr::Set("log:level",0,"5");
|
|
Packit |
8f70b4 |
ResMgr::Set("log:enabled",0,"true");
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
FileAccess *f=FileAccess::New("http","lftp.tech");
|
|
Packit |
8f70b4 |
if(!f)
|
|
Packit |
8f70b4 |
{
|
|
Packit |
8f70b4 |
fprintf(stderr,"http: unknown protocol, cannot create http session\n");
|
|
Packit |
8f70b4 |
return 1;
|
|
Packit |
8f70b4 |
}
|
|
Packit |
8f70b4 |
f->Open("/ftp/",f->RETRIEVE);
|
|
Packit |
8f70b4 |
Buffer buf;
|
|
Packit |
8f70b4 |
for(;;)
|
|
Packit |
8f70b4 |
{
|
|
Packit |
8f70b4 |
SMTask::Schedule();
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
int res=f->Read(&buf,sizeof(buf));
|
|
Packit |
8f70b4 |
if(res<0)
|
|
Packit |
8f70b4 |
{
|
|
Packit |
8f70b4 |
if(res==f->DO_AGAIN)
|
|
Packit |
8f70b4 |
{
|
|
Packit |
8f70b4 |
SMTask::Block();
|
|
Packit |
8f70b4 |
continue;
|
|
Packit |
8f70b4 |
}
|
|
Packit |
8f70b4 |
fprintf(stderr,"Error: %s\n",f->StrError(res));
|
|
Packit |
8f70b4 |
return 1;
|
|
Packit |
8f70b4 |
}
|
|
Packit |
8f70b4 |
if(res==0) // eof
|
|
Packit |
8f70b4 |
{
|
|
Packit |
8f70b4 |
f->Close();
|
|
Packit |
8f70b4 |
return 0;
|
|
Packit |
8f70b4 |
}
|
|
Packit |
8f70b4 |
buf.SpaceAdd(res);
|
|
Packit |
8f70b4 |
write(1,buf.Get(),res);
|
|
Packit |
8f70b4 |
buf.Skip(res);
|
|
Packit |
8f70b4 |
}
|
|
Packit |
8f70b4 |
SMTask::Delete(f);
|
|
Packit |
8f70b4 |
return 0;
|
|
Packit |
8f70b4 |
}
|