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; }
/* * __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; }
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; }