[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash/libbase URL.cpp
From: |
Vitaly Alexeev |
Subject: |
[Gnash-commit] gnash/libbase URL.cpp |
Date: |
Mon, 11 Sep 2006 14:24:11 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Vitaly Alexeev <alexeev> 06/09/11 14:24:11
Modified files:
libbase : URL.cpp
Log message:
loadMovie() should be compatible with Flash
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/URL.cpp?cvsroot=gnash&r1=1.21&r2=1.22
Patches:
Index: URL.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/URL.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- URL.cpp 2 Sep 2006 14:28:35 -0000 1.21
+++ URL.cpp 11 Sep 2006 14:24:11 -0000 1.22
@@ -42,6 +42,7 @@
#include <iostream>
#include "URL.h"
+#include "impl.h"
//#include "rc.h"
#include <string>
@@ -134,22 +135,34 @@
{
//cerr << "It's absolute" << endl;
init_absolute(absolute_url);
+
+ // The current system directory is not current working
directory of Flash.
+ // Current working directory of Flash is a directory of the
first swf file.
+ if (strlen(get_workdir()) == 0)
+ {
+ size_t n = absolute_url.find_last_of("/\\");
+ if (n != string::npos)
+ {
+ set_workdir(absolute_url.substr(0, n +
1).c_str());
+ }
+ }
}
else
{
//cerr << "It's relative" << endl;
- char buf[PATH_MAX+1];
- if ( ! getcwd(buf, PATH_MAX) )
- {
- stringstream err;
- err << "getcwd failed: " << strerror(errno);
- throw gnash::GnashException(err.str());
- }
- char* ptr = buf+strlen(buf);
- *ptr = '/';
- ++ptr;
- *ptr = '\0';
- URL cwd(buf);
+// char buf[PATH_MAX+1];
+// if ( ! getcwd(buf, PATH_MAX) )
+// {
+// stringstream err;
+// err << "getcwd failed: " << strerror(errno);
+// throw gnash::GnashException(err.str());
+// }
+// char* ptr = buf+strlen(buf);
+// *ptr = '/';
+// ++ptr;
+// *ptr = '\0';
+
+ URL cwd(get_workdir());
init_relative(absolute_url, cwd);
}
}
- [Gnash-commit] gnash/libbase URL.cpp,
Vitaly Alexeev <=