ref: e4191b8d11ae31efe758abfa5b48bf0b99c912a4
dir: /sys/src/libauthsrv/convM2TR.c/
#include <u.h> #include <libc.h> #include <authsrv.h> int convM2TR(char *ap, int n, Ticketreq *f) { uchar *p; memset(f, 0, sizeof(Ticketreq)); if(n < TICKREQLEN) return -TICKREQLEN; p = (uchar*)ap; f->type = *p++; memmove(f->authid, p, ANAMELEN), p += ANAMELEN; memmove(f->authdom, p, DOMLEN), p += DOMLEN; memmove(f->chal, p, CHALLEN), p += CHALLEN; memmove(f->hostid, p, ANAMELEN), p += ANAMELEN; memmove(f->uid, p, ANAMELEN), p += ANAMELEN; f->authid[ANAMELEN-1] = 0; f->authdom[DOMLEN-1] = 0; f->hostid[ANAMELEN-1] = 0; f->uid[ANAMELEN-1] = 0; n = p - (uchar*)ap; return n; }