/*
 * 4pallo.c: Makes a string cycles inside a buffer.
 *
 * Una noiosa notte di Giugno 2003, By Alpt
 * Aggiornato il Tue Mar 28 11:24:58 CEST 2006 
 */


#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>

int main()
{
	char alpt[]="1234567890abcdef";
	char small[80];
	int y,i,len;
	
	len=strlen(alpt);
	for(y=0; y!=len+1;y++) {	
		strncpy(small, alpt, 80);
		small[79]=0;
		printf("\r%s", small);
		fflush(stdout);
		sift(alpt,len);
		usleep(90000);
	}
	printf("\n");
}


/*Penso che questo algoritmo ti posso essere utile per i link lunghi
 * Hai presente xmms? Quando ci sono titoli lunghi incomincia a farli roteare in
 * continuazione. Bene con questo puoi fare lo stesso. Bada che modifica direttamente la stringa
 * in input, ma puoi riportarla allo stato origininale facendola shiftare n+1 volte, per n uguale
 * alla lunghezza della stringa.
 * Ovviamente puoi mettere anche un sleep nel ciclo per renderela visibile ;)
 * And that's all! 
 * Cy4!
 */
int sift(char *alpt, int len)
{
	int i;

	for(i=len; i!=-1; i--)
		if((i-1)<0)
			alpt[i]=alpt[len];
		else
			alpt[i]=alpt[i-1];
	alpt[len]='\0';
}
