#include <cerrno> // E*
#include <cstring>
#include <cstdlib>
+#include <cstdio>
#include <fstream>
-#include "conffiles.h"
-#include "common.h"
+#include "stg/conffiles.h"
using namespace std;
error = 0;
return e;
}
-/*//---------------------------------------------------------------------------
-int CONFIGFILE::ReadString(const string & param, char * str, int * maxLen, const char * defaultVal) const
-{
-it = param_val.find(param);
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
-
-if (it != param_val.end())
- {
- // þÔÏ-ÔÏ ÓÔÏÉÔ
- strncpy(str, param_val[param].c_str(), *maxLen);
- *maxLen = param_val[param].size();
- return 0;
- }
-
-strncpy(str, defaultVal, *maxLen);
-*maxLen = strlen(defaultVal);
-return -1;
-}*/
//---------------------------------------------------------------------------
int CONFIGFILE::ReadString(const string & param, string * val, const string & defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
*val = it->second;
return 0;
}
int CONFIGFILE::ReadInt(const string & param, int * val, int defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = strtol(it->second.c_str(), &res, 10);
if (*res != 0)
int CONFIGFILE::ReadUInt(const string & param, unsigned int * val, unsigned int defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = strtoul(it->second.c_str(), &res, 10);
if (*res != 0)
int CONFIGFILE::ReadLongInt(const string & param, long int * val, long int defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = strtol(it->second.c_str(), &res, 10);
if (*res != 0)
int CONFIGFILE::ReadULongInt(const string & param, unsigned long int * val, unsigned long int defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = strtoul(it->second.c_str(), &res, 10);
if (*res != 0)
int CONFIGFILE::ReadLongLongInt(const string & param, int64_t * val, int64_t defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = strtoll(it->second.c_str(), &res, 10);
if (*res != 0)
int CONFIGFILE::ReadULongLongInt(const string & param, uint64_t * val, uint64_t defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = strtoull(it->second.c_str(), &res, 10);
if (*res != 0)
int CONFIGFILE::ReadShortInt(const string & param, short int * val, short int defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = (short)strtol(it->second.c_str(), &res, 10);
if (*res != 0)
int CONFIGFILE::ReadUShortInt(const string & param, unsigned short int * val, unsigned short int defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = (short)strtoul(it->second.c_str(), &res, 10);
if (*res != 0)
//---------------------------------------------------------------------------
void CONFIGFILE::WriteInt(const string & param, int64_t val)
{
-string s;
-x2str(val, s);
-param_val[param] = s;
+char buf[32];
+snprintf(buf, sizeof(buf), "%lld", static_cast<long long int>(val));
+param_val[param] = buf;
changed = true;
}
//---------------------------------------------------------------------------
int CONFIGFILE::ReadDouble(const string & param, double * val, double defaultVal) const
{
const map<string, string>::const_iterator it(param_val.find(param));
-// îÁÛÌÉ ÎÕÖÎÕÀ ÐÅÒÅÍÅÎÎÕÀ
if (it != param_val.end())
{
- // þÔÏ-ÔÏ ÓÔÏÉÔ
char *res;
*val = strtod(it->second.c_str(), &res);
if (*res != 0)
if (!changed)
return 0;
-std::string pid;
-x2str(getpid(), pid);
+char pid[6];
+snprintf(pid, sizeof(pid), "%d", getpid());
if (Flush(fileName + "." + pid))
return -1;