nInt32 STDCALL__ error(nInt32 code, nstring & mes, CBase *pp)
{
	char class_name[CLASS_NAME_LEN]= "Unknown class";
	nova::nstringstream err;

	switch(code)
	{
	case EXIT_OK:
		{
			return code;
		}
		break;
	case MEM_ERROR:
		{
			if(pp) pp->GetClassName(class_name);
			err << "Detecting error of memory allocation:: " <<
				class_name << "::" << mes << endl;
			er_code = code;

		}
		break;
	case BAD_OPERATION:
		{
			if(pp) pp->GetClassName(class_name);
			err << "Detecting inadmissible procedure:: " <<
				class_name << "::" << mes << endl;
			er_code = code;
		}
		break;
	case BAD_OPERATION_WITH_STREAM:
		{
			if(pp) pp->GetClassName(class_name);
			err << "Detecting inadmissible procedure with I/O stream:: " <<
				class_name << "::" << mes << endl;
			er_code = code;
		}
		break;
	case FATAL_OPERATION:
		{
			if(pp) pp->GetClassName(class_name);
			err << "Detecting inadmissible fatal operation:: " <<
				class_name << "::" << mes << endl;
			prError(err);
			er_code = code;
			abort();
		}
		break;
	default:
		{
			if(pp) pp->GetClassName(class_name);
			err << "Error: bad result value!" <<
				class_name << "::" << mes << endl;
			er_code = code;
		}
	}
	cerr << endl << err << endl;
	prError(err);
	return er_code;
}
Exemple #2
0
/*
 * __strom_lookup_extra_symbol - lookup extra symbol and grab module if any
 */
static inline int
__strom_lookup_extra_symbol(const char *symbol_name,
							void **symbol_addr,
							struct module **symbol_mod,
							bool is_optional)
{
	unsigned long	addr;
	struct module  *mod;

	addr = kallsyms_lookup_name(symbol_name);
	if (!addr)
	{
		prError("could not solve %s kernel symbol: %s",
				is_optional ? "an optional" : "a required",
				symbol_name);
		return -ENOENT;
	}

	mod = __module_text_address(addr);
	if (mod)
	{
		__module_get(mod);
		prNotice("extra symbol \"%s\" found at %p of module \"%s\"",
				 symbol_name, (void *)addr, mod->name);
	}
	else
	{
		prNotice("extra symbol \"%s\" found at %p (core kernel)\n",
				 symbol_name, (void *)addr);
	}
	*symbol_addr = (void *) addr;
	*symbol_mod  = mod;

	return 0;
}
Exemple #3
0
SDL_Texture* loadTextTexture(char* string, TTF_Font* Font, SDL_Color textColor, SDL_Renderer* renderer){
    SDL_Surface* textSurface = TTF_RenderText_Blended(Font, string, textColor);
    SDL_Texture* texture = NULL;
    if (textSurface == NULL){
        prError("Unable to create texture from rendered text");
        return NULL;
    }
    else{
        texture = SDL_CreateTextureFromSurface(renderer, textSurface);
        if (texture == NULL){
            prError("Unable to create texture from rendered text");
            return NULL;
        }
        SDL_FreeSurface(textSurface);
    }
    return texture;
}