1 #include "logfsos.h" 2 #include "logfs.h" 3 #include "fcall.h" 4 #include "local.h" 5 6 int logfsgn(uchar ** pp,uchar * mep,char ** v)7logfsgn(uchar **pp, uchar *mep, char **v) 8 { 9 uchar *p = *pp; 10 int l; 11 if(p + BIT16SZ > mep) 12 return 0; 13 l = GBIT16(p); p += BIT16SZ; 14 if(p + l > mep) 15 return 0; 16 *pp = p + l; 17 if(l == 0) { 18 *v = 0; 19 return 1; 20 } 21 *v = (char *)(p - 1); 22 memmove(p - 1, p, l); 23 p[l - 1] = 0; 24 return 1; 25 } 26 27