987241ea99c99b93aea51bb63bdf579f927e9d2b
kent
  Wed Oct 7 13:46:09 2015 -0700
Fixing copyright on some old essentially public domain files.

diff --git src/inc/keys.h src/inc/keys.h
index d12f45d..8a3bd70 100644
--- src/inc/keys.h
+++ src/inc/keys.h
@@ -1,66 +1,65 @@
-/*****************************************************************************
- * Copyright (C) 2000 Jim Kent.  This source code may be freely used         *
- * for personal, academic, and non-profit purposes.  Commercial use          *
- * permitted only by explicit agreement with Jim Kent (jim_kent@pacbell.net) *
- *****************************************************************************/
 /* keys.h - Stuff to manage a little key/value table and
- * evaluate expressions on it. */
+ * evaluate expressions on it. 
+ *
+ * This file is copyright 2000 Jim Kent, but license is hereby
+ * granted for all use - public, private or commercial. */
+
 #ifndef KEYS_H
 #define KEYS_H
 
 struct keyVal
 /* A key/value pair of strings. */
     {
     char *key;
     char *val;
     };
 
 struct kvt *newKvt(int size);
 /* Get a new key value table. */
 
 void freeKvt(struct kvt **pKvt);
 /* Free up key value table. */
 
 void kvtClear(struct kvt *kvt);
 /* Clear the keys table. */
 
 struct keyVal *kvtAdd(struct kvt *kvt, char *key, char *val);
 /* Add in new key. */
 
 struct keyVal* kvtGet(struct kvt *kvt, char *key);
 /* get the keyVal for the specified key, of NULL if not found. */
 
 char *kvtLookup(struct kvt *kvt, char *key);
 /* Search table for key.  Return key value, or NULL if
  * key not found. */
 
 void kvtWriteAll(struct kvt *kvt, FILE *f, struct slName *hideList);
 /* Write all keys to file except the ones in hideList */
 
 void kvtParseAdd(struct kvt *kvt, char *text);
 /* Add in keys from text.  Text is in format:
  *     key val
  * for each line of text. Text gets many of it's
  * space characters and newlines replaced by 0's
  * and should persist until call to keysClear(). */
 
 struct keyExp
 /* A handle on a parsed expression which can be
  * quickly evaluated.  */
     {
     void *rootExp;       /* Internally struct exp. */
     void *tokenList;     /* Internally struct tok. */
     };
 
 boolean keyExpEval(struct keyExp *exp, struct kvt *kvt);
 /* Recursively evaluate expression. */
 
 struct keyExp *keyExpParse(char *text);
 /* Parse text into key expression.  Squawk and die if it
  * fails. */
 
 boolean keyTextScan(char *text, char *key, char *valBuf, int valBufSize);
 /* Get value of key in text. Return FALSE if key doesn't exist. */
 
 #endif /* KEYS_H */