rem: temp = gPrefInt.CopyUnicharPref(gPrefstring+gPref_string_desc+".description"); 
add: temp = gPrefInt.getComplexValue(gPrefstring+gPref_string_desc+".description", Components.interfaces.nsISupportsWString); 
context: function createUniqueServername(){  // gPref_string_desc is the description entered by the user.  // Just get the alphabets and digits from the description.  // remove spaces and special characters from description.  var user_Id = 0;  var re = /[A-Za-z0-9]/g;  var str = gPref_string_desc.match(re);  var temp = "";  if (!str) {    try {      user_Id = gPrefInt.GetIntPref("ldap_2.user_id");    }    catch(ex){       user_Id = 0;    }    ++user_Id;    temp = "user_directory_" + user_Id;    str = temp;    try {      gPrefInt.SetIntPref("ldap_2.user_id", user_Id);    }    catch(ex) {}      }  else {    var len = str.length;    if (len > 20) len = 20;    for (var count = 0; count < len; count++)    {     temp += str[count];    }  }  gPref_string_desc = temp;  while (temp) {    temp = "";    try{       temp = gPrefInt.CopyUnicharPref(gPrefstring+gPref_string_desc+".description");    } catch(e){}    if (temp)      gPref_string_desc += str[0];  }} 
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/faf03ce445712b372523f881cc3144cfadc7a611/pref-directory-add.js/clean/mailnews/addrbook/prefs/resources/content/pref-directory-add.js