mirror of
https://github.com/glest/glest-source.git
synced 2025-08-27 01:44:23 +02:00
-added another mutex release to fix a bug found from a segfault
-added a safer debug buffer output method -added ability to specify precsion for floating point conversion
This commit is contained in:
37
source/shared_lib/include/util/conversion.h
Normal file
37
source/shared_lib/include/util/conversion.h
Normal file
@@ -0,0 +1,37 @@
|
||||
// ==============================================================
|
||||
// This file is part of Glest Shared Library (www.glest.org)
|
||||
//
|
||||
// Copyright (C) 2001-2008 Martio Figueroa
|
||||
//
|
||||
// You can redistribute this code and/or modify it under
|
||||
// the terms of the GNU General Public License as published
|
||||
// by the Free Software Foundation; either version 2 of the
|
||||
// License, or (at your option) any later version
|
||||
// ==============================================================
|
||||
|
||||
#ifndef _SHARED_UTIL_CONVERSION_H_
|
||||
#define _SHARED_UTIL_CONVERSION_H_
|
||||
|
||||
#include <string>
|
||||
|
||||
using std::string;
|
||||
|
||||
namespace Shared{ namespace Util{
|
||||
|
||||
bool strToBool(const string &s);
|
||||
int strToInt(const string &s);
|
||||
float strToFloat(const string &s);
|
||||
|
||||
bool strToBool(const string &s, bool *b);
|
||||
bool strToInt(const string &s, int *i);
|
||||
bool strToFloat(const string &s, float *f);
|
||||
|
||||
string boolToStr(bool b);
|
||||
string intToStr(int i);
|
||||
string intToHex(int i);
|
||||
string floatToStr(float f,int precsion=2);
|
||||
string doubleToStr(double f,int precsion=2);
|
||||
|
||||
}}//end namespace
|
||||
|
||||
#endif
|
@@ -1,7 +1,7 @@
|
||||
// ==============================================================
|
||||
// This file is part of Glest Shared Library (www.glest.org)
|
||||
//
|
||||
// Copyright (C) 2001-2008 Marti<EFBFBD>o Figueroa
|
||||
// Copyright (C) 2001-2008 Martio Figueroa
|
||||
//
|
||||
// You can redistribute this code and/or modify it under
|
||||
// the terms of the GNU General Public License as published
|
||||
@@ -116,15 +116,15 @@ string intToHex(int i){
|
||||
return str;
|
||||
}
|
||||
|
||||
string floatToStr(float f){
|
||||
string floatToStr(float f,int precsion){
|
||||
char str[strSize];
|
||||
sprintf(str, "%.2f", f);
|
||||
sprintf(str, "%.*f", precsion,f);
|
||||
return str;
|
||||
}
|
||||
|
||||
string doubleToStr(double d){
|
||||
string doubleToStr(double d,int precsion){
|
||||
char str[strSize];
|
||||
sprintf(str, "%.2f", d);
|
||||
sprintf(str, "%.*f", precsion,d);
|
||||
return str;
|
||||
}
|
||||
|
||||
|
@@ -195,8 +195,9 @@ void SystemFlags::handleDebug(DebugType type, const char *fmt, ...) {
|
||||
va_list argList;
|
||||
va_start(argList, fmt);
|
||||
|
||||
char szBuf[4096]="";
|
||||
vsprintf(szBuf,fmt, argList);
|
||||
const int max_debug_buffer_size = 8096;
|
||||
char szBuf[max_debug_buffer_size]="";
|
||||
vsnprintf(szBuf,max_debug_buffer_size-1,fmt, argList);
|
||||
|
||||
// Either output to a logfile or
|
||||
if(currentDebugLog.debugLogFileName != "") {
|
||||
|
Reference in New Issue
Block a user