lkml.org 
[lkml]   [2000]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Play Kernel Hangman!
On Mon, 6 Nov 2000, Jeff Dike wrote:

> After a stranger than usual late-night #kernelnewbies session on Thursday, I
> was inspired to come up with Kernel Hangman. This is the traditional game of
> hangman, except that the words you have to guess are kernel symbols.
>
> So, test your knowledge of kernel trivia and play it at
> http://user-mode-linux.sourceforge.net/cgi-bin/hangman
>
> Jeff

Actually, OpenBSD already has this (in the kernel !) After a kernel crash
ones, I got in the kerneldebugger. I didn't really know how to use it, but
I could play hangman. I just downloaded the source
(pub/OpenBSD/2.7/srcsys.tar.gz) to be sure, here is a short excerpt from
sys/ddb/db_hangman.c:
---
static __inline char *
db_randomsym(lenp)
size_t *lenp;
{
register char *p, *q;
/* choose random symtab */
register db_symtab_t stab = db_istab(db_random(db_nsymtabs));

/* choose random symbol from the table */
q = db_qualify(X_db_isym(stab,
db_random(X_db_nsyms(stab))),stab->name);

/* don't show symtab name if there are less than 3 of 'em
*/
if (db_nsymtabs < 3)
while(*q++ != ':');

/* strlen(q) && ignoring underscores and colons */
for ((*lenp) = 0, p = q; *p; p++)
if (ISALPHA(*p))
(*lenp)++;

return q;
}

static char hangpic[]=
"\n88888 \r\n"
"9 7 6 \r\n"
"97 5 \r\n"
"9 423\r\n"
"9 2 \r\n"
"9 1 0\r\n"
"9\r\n"
"9 ";
static char substchar[]="\\/|\\/O|/-|";

---
and an other part:
---

void
db_hangman(addr, haddr, count, modif)
db_expr_t addr;
int haddr;
db_expr_t count;
char *modif;
{
if (modif[0] == 's' && '0' <= modif[1] && modif[1] <= '9')
skill = modif[1] - '0';
else
skill = 5;

while (db_hangon());
}


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:45    [W:0.043 / U:3.364 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site