projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Unspk'd inventory lookup
[open-adventure.git]
/
misc.c
diff --git
a/misc.c
b/misc.c
index 2b6a58b212a7561eab784dad1a151566319cab4f..5d400db7d5611e5382c7ea7b3bf532759de69714 100644
(file)
--- a/
misc.c
+++ b/
misc.c
@@
-23,7
+23,7
@@
static void* xmalloc(size_t size)
return (ptr);
}
return (ptr);
}
-void packed_to_token(long packed, char token[TOKLEN
+
1])
+void packed_to_token(long packed, char token[TOKLEN
+
1])
{
// The advent->ascii mapping.
const char advent_to_ascii[] = {
{
// The advent->ascii mapping.
const char advent_to_ascii[] = {
@@
-81,7
+81,7
@@
long token_to_packed(const char token[])
size_t t_len = strlen(token);
if (t_len > TOKLEN)
size_t t_len = strlen(token);
if (t_len > TOKLEN)
- t_len = TOKLEN;
+
t_len = TOKLEN;
long packed = 0;
for (size_t i = 0; i < t_len; ++i) {
char mapped = ascii_to_advent[(int) toupper(token[i])];
long packed = 0;
for (size_t i = 0; i < t_len; ++i) {
char mapped = ascii_to_advent[(int) toupper(token[i])];
@@
-95,7
+95,7
@@
void tokenize(char* raw, struct command_t *cmd)
memset(cmd, '\0', sizeof(struct command_t));
/* FIXME: put a bound prefix on the %s to prevent buffer overflow */
memset(cmd, '\0', sizeof(struct command_t));
/* FIXME: put a bound prefix on the %s to prevent buffer overflow */
-
int word_count =
sscanf(raw, "%s%s", cmd->raw1, cmd->raw2);
+ sscanf(raw, "%s%s", cmd->raw1, cmd->raw2);
// pack the substrings
cmd->wd1 = token_to_packed(cmd->raw1);
// pack the substrings
cmd->wd1 = token_to_packed(cmd->raw1);
@@
-274,16
+274,16
@@
int word_count(char* str)
int inblanks = true;
for (char *s = str; *s; s++)
int inblanks = true;
for (char *s = str; *s; s++)
- if (inblanks) {
- if (strchr(delims, *s) == 0) {
- ++count;
- inblanks = false;
- }
- } else {
- if (strchr(delims, *s) != 0) {
- inblanks = true;
- }
- }
+
if (inblanks) {
+
if (strchr(delims, *s) == 0) {
+
++count;
+
inblanks = false;
+
}
+
} else {
+
if (strchr(delims, *s) != 0) {
+
inblanks = true;
+
}
+
}
return (count);
}
return (count);
}
@@
-483,6
+483,10
@@
int get_special_vocab_id(const char* word)
long get_vocab_id(const char* word)
// Search the vocab categories in order for the supplied word.
{
long get_vocab_id(const char* word)
// Search the vocab categories in order for the supplied word.
{
+ /* Check for an empty string */
+ if (strncmp(word, "", sizeof("")) == 0)
+ return (WORD_EMPTY);
+
long ref_num;
/* FIXME: Magic numbers related to vocabulary */
long ref_num;
/* FIXME: Magic numbers related to vocabulary */
@@
-645,7
+649,7
@@
long randrange(long range)
return range * get_next_lcg_value() / game.lcg_m;
}
return range * get_next_lcg_value() / game.lcg_m;
}
-void make_zzword(char zzword[TOKLEN
+
1])
+void make_zzword(char zzword[TOKLEN
+
1])
{
for (int i = 0; i < 5; ++i) {
zzword[i] = 'A' + randrange(26);
{
for (int i = 0; i < 5; ++i) {
zzword[i] = 'A' + randrange(26);