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;
}
Beispiel #2
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;
}