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)6 size_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