// This file is a part of the Framsticks GDK library. // Copyright (C) 2002-2013 Szymon Ulatowski. See LICENSE.txt for details. // Refer to http://www.framsticks.com/ for further information. #include "stderrors.h" #include #include bool listIndexCheck(SList* list,int index,const char* msgobj,const char* msgfun) { int size=list->size(); if ((index<0)||(index>=size)) { if (size>0) FMprintf(msgobj,msgfun,FMLV_ERROR,"Invalid index %d (allowed range is 0..%d)",index,size-1); else FMprintf(msgobj,msgfun,FMLV_ERROR,"Invalid index %d (this list is empty)",index); return 0; } return 1; } SString stringCheck(SString& in,const char* msgobj,const char* msgfun,const char* msg,SString (*checker)(SString& in)) { if (!checker) checker=trim; SString corrected=checker(in); if (corrected!=in) { SString msg2=SString(msg)+": \"%s\" (adjusted to \"%s\")"; FMprintf(msgobj,msgfun,FMLV_WARN,(const char*)msg2,(const char*)in,(const char*)corrected); } return corrected; }