* (c) 1999 Straylight/Edgeware
*/
-/*----- Licensing notice --------------------------------------------------*
+/*----- Licensing notice --------------------------------------------------*
*
* This file is part of Catacomb.
*
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
- *
+ *
* Catacomb is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Library General Public
* License along with Catacomb; if not, write to the Free
* Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
void key_split(key_data **kk)
{
key_data *k = *kk;
-
+
if (k->ref == 1)
return;
switch (k->e & KF_ENCMASK) {
return (0);
if (tag) *tag = SYM_NAME(ks);
if (kd) *kd = ks->k;
+ return (1);
}
/* --- @key_structset@, @key_structsteal@ --- *
key_drop(ks->k);
if (!stealp) KEY_INCREF(kd);
ks->k = kd;
- }
+ }
}
void key_structset(key_data *k, const char *tag, key_data *kd)
*
* Returns: Nonzero return code from function, or zero.
*
- * Use: Runs a function over all the leaves of a key.
+ * Use: Runs a function over all the leaves of a key.
*/
int key_do(key_data *k, const key_filter *kf, dstr *d,