]>
Dogcows Code - chaz/openbox/blob - otk/util.cc
1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
4 # include "../config.h"
5 #endif // HAVE_CONFIG_H
24 #endif // HAVE_UNISTD_H
26 #if defined(HAVE_PROCESS_H) && defined(__EMX__)
28 #endif // HAVE_PROCESS_H __EMX__
30 #include "../src/gettext.h"
31 #define _(str) gettext(str)
44 string
expandTilde(const string
& s
) {
45 if (s
[0] != '~') return s
;
47 const char* const home
= getenv("HOME");
48 if (home
== NULL
) return s
;
50 return string(home
+ s
.substr(s
.find('/')));
54 void bexec(const string
& command
, const string
& displaystring
) {
58 putenv(displaystring
);
59 int ret
= execl("/bin/sh", "/bin/sh", "-c", command
.c_str(), NULL
);
63 spawnlp(P_NOWAIT
, "cmd.exe", "cmd.exe", "/c", command
.c_str(), NULL
);
68 string
itostring(unsigned long i
) {
73 for (; i
> 0; i
/= 10)
74 tmp
.insert(tmp
.begin(), "0123456789"[i%10
]);
79 string
itostring(long i
) {
80 std::string tmp
= itostring( (unsigned long) std::abs(i
));
82 tmp
.insert(tmp
.begin(), '-');
86 void putenv(const std::string
&data
)
88 char *c
= new char[data
.size() + 1];
89 std::string::size_type i
, max
;
90 for (i
= 0, max
= data
.size(); i
< max
; ++i
)
94 printf(_("warning: couldn't set environment variable\n"));
99 string
basename (const string
& path
) {
100 string::size_type slash
= path
.rfind('/');
101 if (slash
== string::npos
)
103 return path
.substr(slash
+1);
This page took 0.036549 seconds and 4 git commands to generate.