|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 1623 (0x657)
Types: TextFile
Names: »stuff.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Insult/stuff.c«
/* RCS Info: $Revision: $ on $Date: $
* $Source: $
* Copyright (c) 1985 Wayne A. Christopher
* Permission is granted to do anything with this code except sell it
* or remove this message.
*
* Assorted things.
*/
#include <stdio.h>
extern FILE *specp, *textp;
/* This should exist somewhere. It should be first in the file... */
char *itoa(num)
{
static char buf[32];
int p;
p = 31;
do {
buf[p] = (char) num % 10 - '\0';
num /= 10;
p--;
} while (num);
return (buf + p);
}
/* The hashing function. Note that hashtables have to be of size 256.
* They probably don't need to be very big, and the fn is simple...
*/
phash(string)
char *string;
{
unsigned char rv = 0;
while (*string)
rv += *(string++);
return (rv);
}
/* This function reads a C function from the input file. It is kept in
* the file pointed to by outp. It takes the function number as an argument
* (the function will not have arguments). Note that this will be messed
* up by unbalanced brackets in comments.
*/
transcribe(num)
int num;
{
/* Note that we must add the first bracket... */
extern FILE *textp;
extern char input();
char c;
int brct;
fprintf(textp, "\n_kkFunc%d ()\n{\n", num);
brct = 1;
while (c = input()) { /* This is the lex input function. */
if (c == '{') brct++;
if (c == '}') brct--;
putc(c, textp);
if (!brct) return (0);
}
/* Reached EOF. */
return (1);
}
/* "Gensym" for user supplied C code names. */
newnum()
{
static int n = 0;
n++;
return (n);
}
/* "Gensym" for arcnumbers and nodenumbers. */
newnum2()
{
static int n = 0;
n++;
return (n);
}