#define INCL_DOSERRORS
#include <os2.h>
-#include <boost/scoped_array.hpp>
-using boost::scoped_array;
+namespace lyx {
+namespace support {
+namespace os {
namespace {
-string binpath_;
-string binname_;
-string tmpdir_;
-os::shell_type shell_ = os::UNIX;
+shell_type shell_ = UNIX;
unsigned long cp_ = 0;
}
-namespace os {
-
-
void init(int argc, char * argv[])
{
_wildcard(&argc, &argv);
APIRET rc = DosGetInfoBlocks(&ptib, &ppib);
if (rc != NO_ERROR)
exit(rc);
- scoped_array<char> tmp(new char[256]);
- // This is the only reliable way to retrieve the executable name.
- rc = DosQueryModuleName(ppib->pib_hmte, 256L, tmp);
- if (rc != NO_ERROR)
- exit(rc);
- string p = tmp.get();
- p = slashify_path(p);
- binname_ = OnlyFilename(p);
- binname_.erase(binname_.length()-4, string::npos);
- binpath_ = OnlyPath(p);
// OS/2 cmd.exe has another use for '&'
- string sh = OnlyFilename(GetEnvPath("EMXSHELL"));
+ string sh = OnlyFilename(getEnvPath("EMXSHELL"));
if (sh.empty()) {
// COMSPEC is set, unless user unsets
- sh = OnlyFilename(GetEnvPath("COMSPEC"));
+ sh = OnlyFilename(getEnvPath("COMSPEC"));
if (sh.empty())
sh = "cmd.exe";
}
}
-void warn(string const & /*mesg*/)
-{
- return;
-}
-
-
string current_root()
{
APIRET rc;
COUNTRYCODE cntry;
cntry.country = 0;
cntry.codepage = cp_;
- string temp1 = slashify_path(p1);
- string temp2 = slashify_path(p2);
+ string temp1 = internal_path(p1);
+ string temp2 = internal_path(p2);
char * tmp1 = const_cast<char *> (temp1.c_str());
char * tmp2 = const_cast<char *> (temp2.c_str());
/* rc = */ DosMapCase(p1.length(), &cntry, tmp1);
}
-string slashify_path(string const & p)
+string internal_path(string const & p)
{
static bool initialized = false;
static bool leadbyte[256] = {false};
}
-string internal_path(string const & p)
-{
- return p;
-}
-
-
bool is_absolute_path(string const & p)
{
return (p.length() > 1
}
-string binpath()
-{
- return binpath_;
-}
-
-
-string binname()
+string const & nulldev()
{
- return binname_;
+ static string const nulldev_ = "null";
+ return nulldev_;
}
-void setTmpDir(string const & p)
+shell_type shell()
{
- tmpdir_ = p;
+ return shell_;
}
-string getTmpDir()
+char path_separator()
{
- return tmpdir_;
+ return ';';
}
-shell_type shell()
-{
- return shell_;
-}
+void cygwin_path_fix(bool)
+{}
-} // end namespace os
+} // namespace os
+} // namespace support
+} // namespace lyx