DeliriOS_64bits/bsp_code/console.c
uint64_t parseNextString(const char* msg, char* buffer, char nextDelimiter, uint64_t currentIdx){
//	console_printf("\t'%s' hasta '%c'\n", msg, nextDelimiter);
	memset(buffer, '\0', 256);
	uint16_t j=0;
	//itero hasta encontrar un espacio o otro parametro que comience con % o el fin de cadena
	while((msg[currentIdx] != nextDelimiter) && (msg[currentIdx] != '\0')){
		buffer[j++]=msg[currentIdx++];
		fail_if(j>=256);//buffer overflow(es de 256)
	}

	if(msg[currentIdx] == nextDelimiter){
		//ignoramos el delimitador
		currentIdx++;
	}

	return currentIdx;
}
//buffer es de 256 bytes
//devuelve el currentIdx modificado luego del parseo
buffer es de 256 bytes
devuelve el currentIdx modificado luego del parseo
buffer es de 256 bytes devuelve el currentIdx modificado luego del parseo
uint64_t parseNextString(const char* msg, char* buffer, char nextDelimiter, uint64_t currentIdx){
	memset(buffer, '\0', 256);
	uint16_t j=0;
	while((msg[currentIdx] != nextDelimiter) && (msg[currentIdx] != '\0')){
		buffer[j++]=msg[currentIdx++];
		fail_if(j>=256);
	}
	if(msg[currentIdx] == nextDelimiter){
		currentIdx++;
	}
	return currentIdx;
}
uint64_t parseNextString ( const char * msg , char * buffer , char nextDelimiter , uint64_t currentIdx ) { memset ( buffer , ' \0 ' , 256 ) ; uint16_t j = 0 ; while ( ( msg [ currentIdx ] != nextDelimiter ) && ( msg [ currentIdx ] != ' \0 ' ) ) { buffer [ j ++ ] = msg [ currentIdx ++ ] ; fail_if ( j >= 256 ) ; } if ( msg [ currentIdx ] == nextDelimiter ) { currentIdx ++ ; } return currentIdx ; }
buffer es de 256 bytes
devuelve el currentIdx modificado luego del parseo
buffer es de 256 bytes devuelve el currentIdx modificado luego del parseo
//	console_printf("\t'%s' hasta '%c'\n", msg, nextDelimiter); //itero hasta encontrar un espacio o otro parametro que comience con % o el fin de cadena //buffer overflow(es de 256) //ignoramos el delimitador