1 #include <stddef.h> 2 #include <ctype.h> 3 4 /* "ou=fnord; O=fefe; c=de" -> "ou=fnord,o=fefe,c=de" */ 5 /* returns the length of the new string */ normalize_dn(char * dest,const char * src,int len)6size_t normalize_dn(char* dest,const char* src,int len) { 7 int makelower=1; 8 char* orig=dest; 9 while (len) { 10 if (*src==';' || *src==',') { 11 *dest=','; 12 while (len>1 && src[1]==' ') { ++src; --len; } 13 makelower=1; 14 } else { 15 if (makelower) 16 *dest=tolower(*src); 17 else 18 *dest=*src; 19 if (*dest=='=') makelower=0; 20 } 21 ++dest; 22 ++src; 23 --len; 24 } 25 return dest-orig; 26 } 27