示例#1
0
/**
 * \brief Analysis of buffer and keep results into parser
 * @return Number of bytes wos parsed from buffer
 */
int nmea_parser_push(nmeaPARSER *parser, const char *buff, int buff_sz)
{
    int nparse, nparsed = 0;
	//int i=0;
   // printf("%d,%d",buff_sz,parser->buff_size);
    do
    {
			//printf("heh");
        if(buff_sz > parser->buff_size)
            nparse = parser->buff_size;
        else
            nparse = buff_sz;

        nparsed += nmea_parser_real_push(
            parser, buff, nparse);

        buff_sz -= nparse;
//       if(i<10)
//			 {
//				 printf("%d ,%d,%d ,%d\n",buff_sz,nparse,parser->buff_size,nparsed);
//				 i++;
//			 }
    } 
	while(buff_sz);
//printf("heh");
    return nparsed;
}
示例#2
0
文件: parser.c 项目: stonux/qaul.net
/**
 * \brief Analysis of buffer and keep results into parser
 * @return Number of bytes wos parsed from buffer
 */
int nmea_parser_push(nmeaPARSER *parser, const char *buff, int buff_sz)
{
    int nparse, nparsed = 0;

    do
    {
        if(buff_sz > parser->buff_size)
            nparse = parser->buff_size;
        else
            nparse = buff_sz;

        nparsed += nmea_parser_real_push(
            parser, buff, nparse);

        buff_sz -= nparse;

    } while(buff_sz);

    return nparsed;
}