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
This commit is contained in:
Chris Young 2015-02-21 12:21:14 +00:00
parent 555276b04a
commit 90d88f32d1
2 changed files with 12 additions and 5 deletions

View File

@ -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)

View File

@ -580,13 +580,13 @@ static nserror ami_set_options(struct nsoption_s *defaults)
nsoption_setnull_charp(url_file,
(char *)strdup(temp));
nsoption_setnull_charp(ca_bundle,
(char *)strdup("PROGDIR:Resources/ca-bundle"));
sprintf(temp, "%s/FontGlyphCache", current_user_dir);
nsoption_setnull_charp(font_unicode_file,
(char *)strdup(temp));
nsoption_setnull_charp(ca_bundle,
(char *)strdup("PROGDIR:Resources/ca-bundle"));
/* font defaults */
#ifdef __amigaos4__
nsoption_setnull_charp(font_sans, (char *)strdup("DejaVu Sans"));