summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2009-12-28 21:23:17 +0800
committerPeng Huang <shawn.p.huang@gmail.com>2010-01-01 19:10:08 +0800
commit5515a1fd092a80abba2ba81d6e4aa8fd214563f8 (patch)
tree141b133b56e44c6301d9f0b231301662c8433da1
parentccf8268c2e532dd89c19ad3dd6b92aef562c1e66 (diff)
downloadibus-pinyin-5515a1fd092a80abba2ba81d6e4aa8fd214563f8.tar.gz
Implement Env util class
-rw-r--r--src/Database.cc2
-rw-r--r--src/Util.h14
2 files changed, 15 insertions, 1 deletions
diff --git a/src/Database.cc b/src/Database.cc
index b955134..7207496 100644
--- a/src/Database.cc
+++ b/src/Database.cc
@@ -137,7 +137,7 @@ Database::initUserDatabase (const gchar *userdb)
m_sql << "INSERT OR IGNORE INTO userdb.desc VALUES " << "('version', '1.2.0');\n"
<< "INSERT OR IGNORE INTO userdb.desc VALUES " << "('uuid', '" << UUID () << "');\n"
<< "INSERT OR IGNORE INTO userdb.desc VALUES " << "('hostname', '" << Hostname () << "');\n"
- << "INSERT OR IGNORE INTO userdb.desc VALUES " << "('username', '" << getenv ("USERNAME") << "');\n"
+ << "INSERT OR IGNORE INTO userdb.desc VALUES " << "('username', '" << Env ("USERNAME") << "');\n"
<< "INSERT OR IGNORE INTO userdb.desc VALUES " << "('create-time', datetime());\n"
<< "INSERT OR IGNORE INTO userdb.desc VALUES " << "('attach-time', datetime());\n";
diff --git a/src/Util.h b/src/Util.h
index aaa0178..836e8f3 100644
--- a/src/Util.h
+++ b/src/Util.h
@@ -3,6 +3,8 @@
#include <uuid/uuid.h>
#include <sys/utsname.h>
+#include <stdlib.h>
+#include "String.h"
namespace PY {
@@ -40,6 +42,18 @@ public:
}
};
+class Env : public String {
+public:
+ Env (const gchar *name) {
+ gchar *str;
+ str = getenv (name);
+ assign (str != NULL ? str : "");
+ }
+ operator const gchar *(void) const {
+ return c_str();
+ }
+};
+
class StaticString {
public:
StaticString (const gchar *str) : m_string (str) {}