int url_decoding(const char *src, const int srclen, char *dest, int destlen) { ol_log_func (); char ch; int idx1, idx2; int i; int j = 0; if(src == NULL || dest == NULL || srclen < 0 || destlen < 0) return -1; for(i=0; (i<srclen && j<destlen); i++) { ch = src[i]; switch(ch) { case '+' : dest[j++] = ' '; break; case '%': idx1 = chartonum(src[i+1]); idx2 = chartonum(src[i+2]); dest[j++] = (char)((idx1<<4) | idx2); i += 2; break; default: dest[j++] = ch; } } dest[j] = '\0'; /* * convert to target charset, this is be done after this function called convert("GBK", charset==NULL ? "UTF-8" : charset, buf, strlen(buf), dest, destlen); */ return 0; }
static int __init mac_addr_set(char *line) { unsigned char mac[6]; int i = 0; for (i = 0; i < 6 && line[0] != '\0' && line[1] != '\0'; i++) { mac[i] = chartonum(line[0]) << 4 | chartonum(line[1]); line += 3; } memcpy(DEFMAC, mac, 6); printk("******** uboot setup mac-addr: %x:%x:%x:%x:%x:%x\n", DEFMAC[0], DEFMAC[1], DEFMAC[2], DEFMAC[3], DEFMAC[4], DEFMAC[5]); g_mac_addr_setup++; return 1; }