case  'r':  rc = idProtocolVersion;
DIR_PrefId DIR_AtomizePrefName(const char *prefname){	DIR_PrefId rc = idNone;	/* Skip the "ldap_2.servers.<server-name>." portion of the string.	 */	if (PL_strstr(prefname, PREF_LDAP_SERVER_TREE_NAME) == prefname)	{		prefname = PL_strchr(&prefname[PL_strlen(PREF_LDAP_SERVER_TREE_NAME) + 1], '.');		if (!prefname)			return idNone;		else			prefname = prefname + 1;	}	switch (prefname[0]) {	case 'a':		if (PL_strstr(prefname, "autoComplete.") == prefname)		{			switch (prefname[13]) {			case 'e': /* autoComplete.enabled */				rc = idAutoCompleteEnabled;				break;			case 'f':				rc = idAutoCompleteFilter;				break;			case 'n':				rc = idAutoCompleteNever;				break;			}		}		else if (PL_strstr(prefname, "auth.") == prefname)		{			switch (prefname[5]) {			case 'd': /* auth.dn */				rc = idAuthDn;				break;			case 'e': /* auth.enabled */				rc = idEnableAuth;				break;			case 'p': /* auth.password */				rc = idPassword;				break;			case 's': /* auth.savePassword */				rc = idSavePassword;				break;			}		}		else if (PL_strstr(prefname, "attributes.") == prefname)		{			rc = idCustomAttributes;		}		break;	case 'b':		rc = idBasicSearchAttributes;		break;	case 'c':		switch (prefname[1]) {		case 'h': /* charset */			rc = idCSID;			break;		case 's': /* the new csid pref that replaced char set */			rc = idCSID;			break;		case 'o': /* columns */			rc = idColumnAttributes;			break;		case 'u': /* customDisplayUrl */			rc = idCustomDisplayUrl;			break;		}		break;	case 'd':		switch (prefname[1]) {		case 'e': /* description */			rc = idDescription;			break;		case 'i': /* dirType */			rc = idType;			break;		}		break;	case 'e':		switch (prefname[1]) {		case 'e': /* efficientWildcards */			rc = idEfficientWildcards;			break;		}		break;	case 'f':		if (PL_strstr(prefname, "filter") == prefname)		{			rc = idCustomFilters;		}		else		{			rc = idFileName;		}		break;	case 'h':		if (PL_strstr(prefname, "html.") == prefname)		{			switch (prefname[5]) {			case 'd':				rc = idDnAttributes;				break;			case 's':				rc = idSuppressedAttributes;				break;			case 'u':				rc = idUriAttributes;				break;			}		}		break;			case 'i':		switch (prefname[2]) {		case 'O': /* filename */			rc = idIsOffline;			break;		case 'S': /* filename */			rc = idIsSecure;			break;		}		break;	case 'l':		rc = idLocale;		break;	case 'm':		rc = idMaxHits;		break;	case 'p':		switch (prefname[1]) {		case 'o':			switch (prefname[2]) {			case 'r': /* port */				rc = idPort;				break;			case 's': /* position */				rc = idPosition;				break;			}			break;		}		break;	case 'r':		if (PL_strstr(prefname, "replication.") == prefname)		{			switch (prefname[12]) {			case 'd':				switch (prefname[13]) {					case 'a': /* replication.dataVersion */						rc = idReplDataVersion;						break;					case 'e': /* replication.description */						rc = idReplDescription;						break;				}				break;			case 'e':				switch (prefname[13]) {				case 'n': /* replication.enabled */					rc = idReplEnabled;					break;				case 'x': /* replication.excludedAttributes */					rc = idReplExcludedAttributes;					break;				}				break;			case 'f':				switch (prefname[15]) {				case 'e': /* replication.fileName */					rc = idReplFileName;					break;				case 't': /* replication.filter */					rc = idReplFilter;					break;				}				break;			case 'l': /* replication.lastChangeNumber */				rc = idReplLastChangeNumber;				break;			case 'n': /* replication.never */				rc = idReplNever;				break;			case 's': /* replication.syncURL */				rc = idReplSyncURL;				break;			}		}		break;	case 's':		switch (prefname[1]) {		case 'a': /* saveResults */			rc = idSaveResults;			break;		case 'e':			switch (prefname[2]) {			case 'a':				switch (prefname[6]) {				case 'B': /* searchBase */					rc = idSearchBase;					break;				case 'S': /* searchString */					rc = idLastSearchString;					break;				}				break;			case 'r': /* serverName */				rc = idServerName;				break;			}			break;		}		break;	case 'u': /* uri */		rc = idUri;		break;	case 'v': /* vlvDisabled */		rc = idVLVDisabled;		break;	case 'P':		switch (prefname[4]) {			case 'C': /* PalmCategoryId */				rc = idPalmCategory;				break;			case 'S': /* PalmSyncTimeStamp */				rc = idPalmSyncTimeStamp;				break;		}		break;	}	PR_ASSERT(rc != idNone);	return rc;}