meo@rsiatl.UUCP (Miles ONeal) (07/24/90)
There is a long story as to how this code came into my hands. The DIA has suggested I not relate that story just yet. Suffice it to say that this little coup had somewhat to do with the Soviet parliament giving Gorby a free hand, and with the lowered volume of inanity from portal and psu lately. Isn't that really enough? #!/bin/sh # #THIS IS BIFFMAIL _ MY FAVORITE MAILER!!! # # SINCE I WROITE IT! # #I COULDNT FIND SHAR SO I DID THIS BY HAND. # cat > BM.c << THISISNEAT! /* BIFF WROTE THIS BAR (HAHA! REALLY ITS CODE!!!) COPYRIGT !(*( BY BIFF */ /* YOU CAN DISTURBUTE THIS CODE ALL YOU WANT IF YOU KEEP THIS COPYWRIGHT */ /* IN IT AND DON"T MAKE ANY MONEY OFF IT!!! UNLESS I GIVE PERMISSION!!! */ #ifdef COMMENTS BIFFMAIL (I STARTED CALLING IT BM BUT THEN REMEMBEREDS WHAT THAT MEANS (YUK!) BUT ITS ALLOVER THE PLASE AS BM SI ITS TOO LATE NOW HAHA!!! ANYWAY IF YOU LIKE THIS, SEND ME MAILL. IF NOT, IM SORRY JUST DONT USE IT! DONT BE LIKE THOSE NASTY PEEOPLE ON THE NET THATS FLAME ALL THE TIME,, YOU KNOEW, DUDES AND DUDETTS? ANYWAY, ---I--- LIKE IT, AND I LIKE ME, A>ND I LIKE ***YOU*** SPELING CHEKCER COMES LATER #endif COMEMNTS #include <stdio.h> #include <ctype.h> #include "biff.h" #define ONE 1 main() { register signed long i = 0; register int error; char s [1019]; /******** THIS DIDNT WORK TRY AGAIN!!! while (i !< 0 && i !> 0) { ***********/ while (i IS 0) { printf ("WELCOME TO BIFFMAIL!!!\n"); error = (/* register POR CC DIDN:T LIKE THIS!!!*/ int) gets (s); if (error IS 0) { /****** NOT VERY STRUCTURED, DUDE! exit (error); ***/ i = 1; /* MUCH BETER!!! ***/ } else /*** <<< WHY DO I NED THIS??? &*/ if (strncmp (s, "S", ONE) IS 0) { /**** SNED A MASSAGE! **/ snedit (); } else if (strncmp (s, "R", ONE) IS 0) { /** READ A MASSAGES! **/ getone (); } else if (strncmp (s, "H", ONE) IS 0) { /** HELP A MASSAGES! **/ help (); } else if (strncmp (s, "?", ONE) IS 0) { /** HELP A MASSAGES! **/ help (); } else { uhoh (); } /* MISS SCAHLET? WHATEVAH SHAL I DU? */ /* HAHA!!! */ } } snedit () {/* THIS MAY STILL HALVE SOME PROMNBLEMSB!?! *** */ FILE *SMP, *SP; register signed long i = 0; register int error; register int j; char s [1019]; printf ("ENTER THE NAME THIS IS TO, OK???!"); error = gets (s); SMP = popen ("mail -f BIFFSNOT.HER > /dev/null", "w"); fprintf (SMP, "m "); fprintf (SMP, "%s\n", s); while (i IS 0) { error = (/* register POR CC DIDN:T LIKE THIS!!!*/ int) gets (s); if (error IS 0) { /****** NOT VERY STRUCTURED, DUDE! exit (error); ***/ i = 1; /* MUCH BETER!!! ***/ } else /*** <<< WHY DO I NED THIS??? &*/ if (strncmp (s, ".", ONE) IS 0) { /**** STOP A MASSAGE! **/ i = error = 1 ; } else { /*** DONT DO THIS HERE !!! ;^) getone (); *****/ for (j = 0; s[j] ISNT 0; j = j+1) { if (strncmp (&(s[j]), " ", ONE) IS 0) s[j]=s[j]; else { switch (s[j]){ case ':': /* MAIL AND STUFF! **/ case '!': case '.': case ',': case '@': case ';': case '^': case ')': case '(': case '%': case '?': case '-': s[j]=s[j]; break; case '0' : case '1' : case '2' : case '3' : case '4' : case '5' : case '6' : case '7' : case '8' : case '9' : /* s[j]-=16; UNDO CAPS LOK*/ break; default: if (isupper(s[j])) s[j]=s[j] ; else if (islower(s[j])) /*NOTE*/ s[j]=toupper(s[j]); else s[j]-=16; break;} /* A NEAT THING CALLED LINT SAYS THIS NEXT IS A DEGENERATE UNSIGNED COMPARISON!!! NEAT, HUH?!!! */ if (s[j] <0) s[j]+= 128 - 32; if (s[j] <16)s[j]+= 16;; } } fprintf (SMP, "%s\n", s); } } if ((SP = fopen (".signature", "r")) ISNT NULL) { fclose (SP); fprintf (SMP, "~r .signature\n"); fprintf (SMP, "~r .signature\n"); /* JUST TO BE SURE!!! */ } else if ((SP = fopen (".BIFF", "r")) ISNT NULL) { /* AM I ME? */ fclose (SP); fprintf (SMP, "~r .BIFF\n"); fprintf (SMP, "~r .BIFF\n"); /* JUST TO BE SURE!!! */ } else { fprintf (SMP, "SORRY, NO SIGNATURE AVAILABLLE!!!\n"); } #ifdef BIFFLESS /* PRETTY SCARRY, HUH? !!! */ fprintf (SMP, ".\n"); #endif BIFFLESS fclose (SMP); } help () { printf (" TRY S TO SEND A MESSGE\n"); printf (" OR R TO READ THEM!!!\n"); } uhoh () { printf (" SORRY! THIS DOESN\"T WORK REEL GIOOD YET!\n"); printf (" TRY AGAIN ANOTHER TIME!!!\n"); } getone () { printf (" SORRY! THIS DOESN\"T WORK REEL GIOOD YET!\n"); printf (" TRY AGAIN ANOTHER TIME!!!\n"); } #ifdef COMMENTS /* PROGRMANER NOTES!!! **/ /*NOTE*/ ONE OF THE C COMPILERS I USE LET THIS STATEMENYT GO BY WITHOUT ANY PPARENSTHESISES _ I GUESS THE PERSON WHO DID THEIR MACRO LIBARRY WAS PRETTY COOL, HUH? WAY RAD! #endif COMMENTS THISISNEAT! cat > BM.n << THISISNEAT! .TH "BIFFMAIL" 1 "SEPT 29, 1988" "REV 0.00B" .SH NAME BM \- MAIL PROGRAM FOR DUMB USERS AND TERMINALS .SH SYNOPSIS .IP (VMS) RUN BM/VERBOSE=ALWAYS (DONT WORK YET) .IP (UNIX) BM .IP (VM) EXECUTE BIFFMAIL,RECSIZE=1000,ISP=18xaf0,PSU=1,PORTAL=1 ONLY WORKS IF RUNNING AIX AND THEN DONT NEED THIS STUFF .IP (MAC) <CLICK> <CLICK> AU/X ONLY!!! .SH DESCRIPTION BIFFMAIL WILL TRANSLATE EVERYTHING TO UPPER CASE IF THE TERMINAL ISN'T SMART ENOUGH TO DO THAT ALREADY! .IP .I BM WILL AUTOMAGICAL;Y APPEND YOUR SIGNATUER FILE AT LEAST ONCET AT THE END OF YO*R POSTING, FIX PUNCTUATION AND FIX ANY SPELING MISERROR YOU MITE MAKE. .IP .SH GLOBAL VARIABLES .IP DON"T WORRY WE ALREADY TAKED CARE OF ALL THIS FOUR YOU!!! .SH REQUIREMENTS THE .I BM MAILER MAY BE RUN BY ANYONE WITH A GROUP ID GREATER THAN ) AND AN IQ LESS THAN @%. .IP BM WAS ORIGINALLY ONLY AVAILABLE TO USERS ON THE FOLLOWINJ SYTEMS: PORTAL, PSU, PSUVM, NUNKI! NOW ANYONE CAN BE COOL WITH THEIR MAIL! .SH AUTHOR I WROTE THIS! MY NAME IS BIFF! AREWN{T COMPUETRESE NEET! .SH BUGS I DONT PUT BUGS IN MY CODE!!!] GROSS!!! :^) :^) THISISNEAT! cat > README << THISISNEAT! BM, IS SHORT FOR BIFFMAIL. JUST MAKE IT AND TYPE BM. IT WILL LET YOU USE A S TO SNED A MESSAGE AND R TO READ MAIL (EXCEPT THIS DOESN"T IMPLEMENTED YET!!! SORRRY!!! ;^) HELP IS THERE, AND MORS IS ON THE WAY!!! OH YEA, THE MESSAGE ENDS JUST LKIKE REAL MALE WITH A . OR A CONTROL_D. OK??? -BIFF@PORTAL.CUP.COM -BIFF@PSUVM.PSU.EDU -BIFF@BIFF.NET THISISNEAT! cat > biff.h << THISISNEAT! #define IS == #define ISNT != THISISNEAT! cat > .BIFF << THISISNEAT! -BIFF BIFF@PSUVM.PSU.EDU BIFF@PORTAL.CUP.COM BIFF@BIFF.NET THISISNEAT! cat > makefile << THISISNEAT! BM: BM.c biff.h cc -o BM BM.c THISISNEAT!
smulrine@cs.strath.ac.uk (Robotron 2084) (07/24/90)
In alt.sources, meo@rsiatl.UUCP (Miles ONeal) writes: >... > SMP = popen ("mail -f BIFFSNOT.HER > /dev/null", "w"); Change this to .....("bifflex | mail -f BIFFSNOT.HER > /dev/null", "w"); And now you need a program called "bifflex" somewhere in your path which will correct your grammar and spelling for you. Well, bless my cotton socks, I just happen to have such a thing! It works like a dream. Unpack the following zumfy little proglet and type "make". # This is a shell archive. # Remove everything above and including the cut line. # Then run the rest of the file through sh. #-----cut here-----cut here-----cut here-----cut here----- #!/bin/sh # shar: Shell Archiver # Run the following text with /bin/sh to create: # Makefile # biff.l # This archive created: Tue Jul 24 15:48:50 1990 # By: Stephen K Mulrine (Strathclyde University CS Dept) cat << \SHAR_EOF > Makefile bifflex: biff.l lex biff.l cc -O -s -o bifflex lex.yy.c -ll rm lex.yy.c SHAR_EOF cat << \SHAR_EOF > biff.l T [" .!?,"]* %% LOOK printf("WATCH"); WATCH printf("LOOK"); HEAR printf("LISTEN"); LISTEN printf("HEAR"); GOOD printf("WELL"); WELL printf("GOOD"); SAY printf("SPEAKS"); SAID printf("SPEAKED"); BEING printf("BE"); CK printf("KK"); NN printf("N"); MM printf("M"); TT printf("T"); SS printf("S"); DD printf("D"); " HAD " printf(" HAVE "); " THAN " printf(" TO "); " WAS " printf(" WERE "); " CAN " printf(" BE ABLE TO "); " DO " printf(" DOING "); " DOES " printf(" DOINGS "); " SEE " printf(" BE SEEING "); " BE " printf(" BEING "); " AM " printf(" DO BE "); " AS " printf(" SO "); " SO " printf(" AS "); " IS " printf(" DOES BE "); " MY " printf(" THE OF ME "); "MY " printf("THE OF ME "); " HIS " printf(" THE OF HIM "); "HIS " printf("THE OF HIM "); YOUR printf("THE OF YOU"); " A " printf(" "); " THE " printf(" "); "A " printf("ONE "); "TS " printf("T'S "); "T'S " printf("TS "); THAT printf("THIS"); THIS printf("THAT"); INTO printf("IN"); " IN " printf(" INTO "); ONTO printf("ON"); " ON " printf(" ONTO "); NEVER printf("NOT ONCE"); ONCE printf("ONE TIME"); TWICE printf("TWO TIMES"); ABOUT printf("BY"); WHY printf("HOW"); " BY " printf(" FROM "); " TO " printf(" FOR "); " FOR " printf(" TO "); "ING " printf("ED "); %% main() { srand(getpid()); yylex(); } SHAR_EOF # End of shell archive exit 0 -- Robotron 2084 <> I like grils <> special short sig for jenine <> grils - yum!