nvparse_errors.cpp

来自「使用stl技术,(还没看,是听说的)」· C++ 代码 · 共 48 行

CPP
48
字号
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include "nvparse_errors.h"



nvparse_errors::nvparse_errors()
{
	num_errors = 0;
	reset();
}

nvparse_errors::~nvparse_errors()
{
	reset();
}


void nvparse_errors::reset()
{
	for(int i=0; i < num_errors; i++)
	    free(elist[i]);//FIXME detail_nmap something is writing 0x2 to elist[1] blah!
	for(int j=0; j <= NVPARSE_MAX_ERRORS; j++)
		elist[j] = 0;
	num_errors = 0;
}

void nvparse_errors::set(const char * e)
{
	if(num_errors < NVPARSE_MAX_ERRORS)
		elist[num_errors++] = strdup(e);
}

void nvparse_errors::set(const char * e, int line_number)
{
	char buff[256];
	sprintf(buff, "error on line %d: %s", line_number, e);
	if(num_errors < NVPARSE_MAX_ERRORS)
		elist[num_errors++] = strdup(buff);
}

char * const * const nvparse_errors::get_errors()
{
	return elist;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?