URI:
       topasstokey.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       topasstokey.c (448B)
       ---
            1 #include <u.h>
            2 #include <libc.h>
            3 #include <authsrv.h>
            4 
            5 int
            6 opasstokey(char *key, char *p)
            7 {
            8         uchar t[10];
            9         int c, n;
           10 
           11         n = strlen(p);
           12         memset(t, ' ', sizeof t);
           13         if(n < 5)
           14                 return 0;
           15         if(n > 10)
           16                 n = 10;
           17         strncpy((char*)t, p, n);
           18         if(n >= 9){
           19                 c = p[8] & 0xf;
           20                 if(n == 10)
           21                         c += p[9] << 4;
           22                 for(n = 0; n < 8; n++)
           23                         if(c & (1 << n))
           24                                 t[n] -= ' ';
           25         }
           26         for(n = 0; n < 7; n++)
           27                 key[n] = (t[n] >> n) + (t[n+1] << (8 - (n+1)));
           28         return 1;
           29 }