/****************************************************************************
- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
+ * Copyright 2019-2020,2023 Thomas E. Dickey *
+ * Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
*/
#include <curses.priv.h>
+#include <tic.h>
-MODULE_ID("$Id: add_tries.c,v 1.9 2009/10/24 22:41:36 tom Exp $")
+MODULE_ID("$Id: add_tries.c,v 1.13 2023/06/24 15:36:13 tom Exp $")
#define SET_TRY(dst,src) if ((dst->ch = *src++) == 128) dst->ch = '\0'
#define CMP_TRY(a,b) ((a)? (a == b) : (b == 128))
T((T_CALLED("_nc_add_to_try(%p, %s, %u)"),
(void *) *tree, _nc_visbuf(str), code));
- if (txt == 0 || *txt == '\0' || code == 0)
+ if (!VALID_STRING(str) || *txt == '\0' || code == 0)
returnCode(ERR);
if ((*tree) != 0) {
if (CMP_TRY(ptr->ch, cmp)) {
if (*(++txt) == '\0') {
- ptr->value = code;
+ ptr->value = (unsigned short) code;
returnCode(OK);
}
if (ptr->child != 0)
savedptr = ptr->child;
free(ptr);
}
+ *tree = NULL;
returnCode(ERR);
}
ptr->value = 0;
}
- ptr->value = code;
+ ptr->value = (unsigned short) code;
returnCode(OK);
}