1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
   | int litligne(c,ligne)
int c;
t_buffer *ligne;
t_buffer monbuf;   //ou t_buffer monbuf = NULL; ou t_buffer monbuf = NULL_BUFFER;
{
	ligne->lg = 0;
 
 
	for (;;)
	{
		int i;
 
		while (connexion[c].nbbuf)
		{
			/* Recherche l'eventuel saut de ligne */
			for (i = 0; i < ((t_buffer*)connexion[c].buf)->lg; i++)
			{
				if (((t_buffer*)connexion[c].buf)->buf[i] == 0x0A)
				{
					i++;
					break;
				}
			}
			/* Copier un bloc complet ou partiel ? */
			if (i == ((t_buffer*)connexion[c].buf)->lg)
			{
				Add(&ligne->buf,&ligne->lg,((t_buffer*)connexion[c].buf)->buf,i);
				free(((t_buffer*)connexion[c].buf)->buf);
				Remove(&connexion[c].buf,&connexion[c].nbbuf,sizeof(t_buffer));
				TRACE0("Copie Bloc complet \n");
			}
			else
			{
			TRACE0("Copie Bloc partiel \n");
        monbuf.buf = Strcat(monbuf.buf,ligne->buf);
				Add(&ligne->buf,&ligne->lg,((t_buffer*)connexion[c].buf)->buf,i);
				Remove(&((t_buffer*)connexion[c].buf)->buf,&((t_buffer*)connexion[c].buf)->lg,i);
			}
 
			/* Sort si ligne trouvee */
			if (ligne && ligne->buf[ligne->lg-1] == 0x0A)
			{
				char tmp = 0;
 
				tmp = 0;
 
				Add(&ligne->buf,&ligne->lg,&tmp,1);
				ligne->lg--; /* On ne comptabilise pas le 0 terminateur */
 
				if ( strstr (ligne->buf,"Argument --") != NULL )
				{
 
					ligne->buf[ligne->lg-2] = ' '; 
					ligne->buf[ligne->lg-3] = ' ';
					ligne->lg = 0;  
					TRACE2("litligne test -- (%d) => %s.... \n",c,ligne->buf);
					return 1;
 
				}
				else
				{
					TRACE2("litligne(%d) => %s.... \n",c,ligne->buf);/**/
                                        TRACE1("MON BUF %c", monbuf.buf);
                                        return 1;
                                }
                        }
                }
 
                /* Attend la suite */
		if (!sendrcv())
		{
			ligne->lg = 0;
			return 0;
		}
	}
} | 
Partager