/* Kaufman proudly presents */
/* infinite loop v1.2 */
/* Version History:
     1: First release
     1.1: First working release
1.2: First release with data-embedded visual effects */
/* pardon the screwed-up indentation these forums provide */
typedef struct msglist *listptr;
typedef struct msglist {
char msg[50];
listptr next;
} msglist;
int main (void)
{
listptr msgtosub, pos;
  msgtosub = (listptr) malloc(sizeof(msglist));
strcpy(msgtosub->msg, "Why are you still here, sub?");
msgtosub->next = msgtosub;
for (pos = msgtosub; pos != NULL; pos = pos->next)
printf("%s\n", pos->msg);
for (pos = msgtosub; pos != NULL; pos = msgtosub) {
msgtosub = msgtosub->next;
free((void *) pos); /* always clean up your mess :-) */
}
  return 0;
}
---
ken.kaufman@gmail.com