예제 #1
0
파일: pdkim.c 프로젝트: puleglot/exim
static char *
pdkim_decode_qp(char *str)
{
int nchar = 0;
char *q;
char *p = str;
char *n = malloc(strlen(p)+1);

if (!n) return NULL;

*n = '\0';
q = n;
while (*p != '\0')
  {
  if (*p == '=')
    {
    p = pdkim_decode_qp_char(p, &nchar);
    if (nchar >= 0)
      {
      *q++ = nchar;
      continue;
      }
    }
  else
    *q++ = *p;
  p++;
  }
*q = '\0';
return n;
}
예제 #2
0
파일: pdkim.c 프로젝트: ytrezq/exim
static uschar *
pdkim_decode_qp(uschar * str)
{
int nchar = 0;
uschar * q;
uschar * p = str;
uschar * n = store_get(Ustrlen(str)+1);

*n = '\0';
q = n;
while (*p)
  {
  if (*p == '=')
    {
    p = pdkim_decode_qp_char(p, &nchar);
    if (nchar >= 0)
      {
      *q++ = nchar;
      continue;
      }
    }
  else
    *q++ = *p;
  p++;
  }
*q = '\0';
return n;
}