#include "defs.hpp"
#include "dvbtcontrol.h"
uint16_t adapter;
string *specialchars(unsigned char *data)
{
string *ret;
char special[256];
int x;
unsigned char *p;
if (!(ret = new string))
{
cout << "no mem for new string ??" << endl;
exit(0);
}
ret->assign("");
p = data;
while (*data != '\0')
{
x = 0;
if (*data < 0x10)
data++;
else if (*data == 0x10)
data += 3;
switch (*data)
{
case 0x8a:
case 0x0a:
case 0x0d:
ret->append("
");
x = 1;
break;
/* case 0x20:
ret->append(" ");
x = 1;
break;*/
case 0x86:
ret->append("");
x = 1;
break;
case 0x87:
ret->append("");
x = 1;
break;
case '\'':
ret->append("'");
x = 1;
break;
case '"':
ret->append(""");
x = 1;
break;
case '\\':
ret->append("\");
x = 1;
break;
case '\t':
for (int i = 0; i != 4; i++)
ret->append(" ");
x = 1;
break;
case '/':
ret->append("/");
x = 1;
break;
}
if ( *data > 0x7f && x == 0)
{
sprintf(special,"%d;",(unsigned char)*data);
ret->append(special);
}
else if ( x == 0)
ret->append(1,(char)*data);
// printf("data = %x -> %c %c\n", *data & 0xff,*data, *data > 0x7f ? '-' : '!');
data++;
//cout << "str: " << ret->data() << endl;
}
return ret;
}
int main()
{
DVBccontrol *ctrl;
adapter = 0;
if(!(ctrl = new DVBccontrol))
exit(printf("no control ?\n"));
if(false == ctrl->init(0,0,"yahdr.channels"))
{
cout << "init failed" << endl;
exit(0);
}
ctrl->scan();
}