source: cpp/frams/util/validitychecks.cpp @ 980

Last change on this file since 980 was 793, checked in by Maciej Komosinski, 7 years ago

Code formatting

  • Property svn:eol-style set to native
File size: 1.0 KB
Line 
1// This file is a part of Framsticks SDK.  http://www.framsticks.com/
2// Copyright (C) 1999-2015  Maciej Komosinski and Szymon Ulatowski.
3// See LICENSE.txt for details.
4
5#include "validitychecks.h"
6#include <frams/util/sstringutils.h>
7#include <common/log.h>
8
9bool listIndexCheck(SList* list, int index, const char* msgobj, const char* msgfun)
10{
11        int size = list->size();
12        if ((index < 0) || (index >= size))
13        {
14                if (size>0)
15                        logPrintf(msgobj, msgfun, LOG_ERROR, "Invalid index %d (allowed range is 0..%d)", index, size - 1);
16                else
17                        logPrintf(msgobj, msgfun, LOG_ERROR, "Invalid index %d (this list is empty)", index);
18                return false;
19        }
20        return true;
21}
22
23SString stringCheck(SString& in, const char* msgobj, const char* msgfun, const char* msg, SString(*checker)(const SString& in))
24{
25        if (!checker)
26                checker = trim;
27        SString corrected = checker(in);
28        if (corrected != in)
29        {
30                SString msg2 = SString(msg) + ": \"%s\" (adjusted to \"%s\")";
31                logPrintf(msgobj, msgfun, LOG_WARN, msg2.c_str(), in.c_str(), corrected.c_str());
32        }
33        return corrected;
34}
Note: See TracBrowser for help on using the repository browser.