+
+int key_file_decode (FILE *f)
+{
+ int c, d;
+
+ c = getc (f);
+ switch (c & 192)
+ {
+ case 0:
+ d = c;
+ break;
+ case 64:
+ d = ((c&63) << 8) + (getc (f) & 0xff);
+ break;
+ case 128:
+ d = ((c&63) << 8) + (getc (f) & 0xff);
+ d = (d << 8) + (getc (f) & 0xff);
+ break;
+ case 192:
+ d = ((c&63) << 8) + (getc (f) & 0xff);
+ d = (d << 8) + (getc (f) & 0xff);
+ d = (d << 8) + (getc (f) & 0xff);
+ break;
+ }
+ return d;
+}
+
+
+static int read_one (FILE *inf, char *name, char *key, struct it_key *prevk)