diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2015-02-21 12:21:14 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2015-02-21 12:21:14 +0000 |
commit | 90d88f32d126fae1de2f8984f5d55d7a72f98578 (patch) | |
tree | 0848414be894b287bda144956aa168cac91a247e /amiga/arexx.c | |
parent | 555276b04afa0070f3c0787cde79a09c83d32148 (diff) | |
download | netsurf-90d88f32d126fae1de2f8984f5d55d7a72f98578.tar.gz netsurf-90d88f32d126fae1de2f8984f5d55d7a72f98578.tar.bz2 |
Expand ARexx script locations on NetSurf's process.
This resolves a problem with scripts sometimes not running when they are relative to PROGDIR: and stops PROGDIR: being requested under OS3.
Fixes #2271
Diffstat (limited to 'amiga/arexx.c')
-rw-r--r-- | amiga/arexx.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/amiga/arexx.c b/amiga/arexx.c index 183b8fc98..3b386d3ad 100644 --- a/amiga/arexx.c +++ b/amiga/arexx.c @@ -142,8 +142,15 @@ void ami_arexx_handle(void) void ami_arexx_execute(char *script) { - LOG(("Executing script: %s", script)); - IDoMethod(arexx_obj, AM_EXECUTE, script, NULL, NULL, NULL, NULL, NULL); + char full_script_path[1025]; + BPTR lock; + + if(lock = Lock(script, ACCESS_READ)) { + DevNameFromLock(lock, full_script_path, 1024, DN_FULLPATH); + LOG(("Executing script: %s", full_script_path)); + IDoMethod(arexx_obj, AM_EXECUTE, full_script_path, NULL, NULL, NULL, NULL, NULL); + UnLock(lock); + } } void ami_arexx_cleanup(void) |