Source Code (Use browser search to find items of interest.)
Class Index
kioslave'CharCnv (./kdebase/kioslave/smb/libsmb++/src/CharCnv.h:35)
class CharCnv
{
private:
char unix2winmap[256];
char win2unixmap[256];
public:
char *unix2win(char *str);
char *win2unix(char *str);
CharCnv(const char *char_set_param=0);
};
kioslave'CharCnv::CharCnv() (./kdebase/kioslave/smb/libsmb++/src/CharCnv.cpp:64)
CharCnv::CharCnv(const char *char_set_param)
{
const char *defaultCharset="iso8859-1";
char *char_set=(char*)char_set_param; // discard const ?
if ((!char_set) || (!char_set[0])) char_set=(char*)defaultCharset;
int i;
int mapno;
int maplen;
for(i=0;i<128;i++) unix2winmap[i] = win2unixmap[i] = i;
if(!strcmp(char_set, "iso8859-1")) {
maplen = 96;
mapno = 0;
}
else {
for(i=128;i<256;i++) unix2winmap[i] = win2unixmap[i] = i;
return;
}
for(i=128;i<256;i++) unix2winmap[i] = win2unixmap[i] = CTRL_Z;
for(i=0;i<maplen;i++) {
switch (mapno) {
case 0:
unix2winmap[iso8859_1_data[i][0]] = iso8859_1_data[i][1];
win2unixmap[iso8859_1_data[i][1]] = iso8859_1_data[i][0];
break;
}
}
}
kioslave'CharCnv::unix2win() (./kdebase/kioslave/smb/libsmb++/src/CharCnv.cpp:92)
char *CharCnv::unix2win(char *str)
{
char *p;
for(p=str;*p;p++)
*p = unix2winmap[(unsigned char)*p];
return str;
}
kioslave'CharCnv::win2unix() (./kdebase/kioslave/smb/libsmb++/src/CharCnv.cpp:100)
char *CharCnv::win2unix(char *str)
{
char *p;
for(p=str;*p;p++) *p = win2unixmap[(unsigned char)*p];
return str;
}