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;
}