X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=misc.c;h=71c7540669b2b3b8e178220360a89dd4cb8b9ea6;hb=018ca9ae373090cf8ed94d577232b8b02759f4c6;hp=ba834fdffd44b84cef98268a2e2cbadc8dea63b2;hpb=c84d37091899d4bfcd747dd4afd182d81c3720b3;p=open-adventure.git diff --git a/misc.c b/misc.c index ba834fd..71c7540 100644 --- a/misc.c +++ b/misc.c @@ -50,6 +50,18 @@ void packed_to_token(long packed, char token[6]) } } +void token_to_packed(char token[6], long* packed) +{ + *packed = 0; + for (size_t i = 0; i < 5; ++i) + { + if (token[4 - i] == '\0') + continue; + char mapped = ascii_to_advent[(int) token[4 - i]]; + *packed |= (mapped << (6 * i)); + } +} + /* Hide the fact that wods are corrently packed longs */ bool wordeq(token_t a, token_t b) @@ -279,7 +291,7 @@ bool YES(const char* question, const char* yes_response, const char* no_response reply = get_input(); - char* firstword = (char*) xmalloc(strlen(reply)); + char* firstword = (char*) xmalloc(strlen(reply)+1); sscanf(reply, "%s", firstword); for (int i = 0; i < (int)strlen(firstword); ++i)