diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2013-11-10 12:49:46 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2013-11-10 12:49:46 +0000 |
commit | 5adb1fb1ddbc7adc1a84736c9a1a434d0bf1c0b0 (patch) | |
tree | c72c2a0fe9c1187c8cb7a480a4e9ee03fbbc71cf /amiga | |
parent | c781ca27b725b0dddb76650ba39794f90df105eb (diff) | |
download | netsurf-5adb1fb1ddbc7adc1a84736c9a1a434d0bf1c0b0.tar.gz netsurf-5adb1fb1ddbc7adc1a84736c9a1a434d0bf1c0b0.tar.bz2 |
Workaround for AM_EXECUTE not supporting PROGDIR:
Diffstat (limited to 'amiga')
-rw-r--r-- | amiga/menu.c | 20 | ||||
-rw-r--r-- | amiga/options.h | 2 |
2 files changed, 11 insertions, 11 deletions
diff --git a/amiga/menu.c b/amiga/menu.c index b1f4ff90c..8bca4ebef 100644 --- a/amiga/menu.c +++ b/amiga/menu.c @@ -496,12 +496,8 @@ void ami_menu_arexx_scan(struct gui_window_2 *gwin) LONG cont; struct ExAllData *ead; char *menu_lab; - char lock_dir[1024]; - - strlcpy(lock_dir, "PROGDIR:", 1024); - AddPart(lock_dir, nsoption_charp(arexx_dir), 1024); - - if(lock = Lock(lock_dir, SHARED_LOCK)) + + if(lock = Lock(nsoption_charp(arexx_dir), SHARED_LOCK)) { if(buffer = AllocVecTagList(1024, NULL)) { @@ -1112,16 +1108,20 @@ static void ami_menu_item_arexx_entries(struct Hook *hook, APTR window, struct I char *script = hook->h_Data; char *temp; struct gui_window_2 *gwin; + BPTR lock = 0; GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin); if(script) { if(temp = AllocVecTagList(1024, NULL)) { - strcpy(temp, nsoption_charp(arexx_dir)); - AddPart(temp, script, 1024); - ami_arexx_execute(temp); - FreeVec(temp); + if(lock = Lock(nsoption_charp(arexx_dir), SHARED_LOCK)) { + DevNameFromLock(lock, temp, 1024, DN_FULLPATH); + AddPart(temp, script, 1024); + ami_arexx_execute(temp); + FreeVec(temp); + UnLock(lock); + } } } } diff --git a/amiga/options.h b/amiga/options.h index b95ddf12d..f595cd240 100644 --- a/amiga/options.h +++ b/amiga/options.h @@ -44,7 +44,7 @@ NSOPTION_BOOL(tab_close_warn, true) NSOPTION_BOOL(tab_always_show, false) NSOPTION_BOOL(kiosk_mode, false) NSOPTION_STRING(search_engines_file, "PROGDIR:Resources/SearchEngines") -NSOPTION_STRING(arexx_dir, "Rexx") +NSOPTION_STRING(arexx_dir, "PROGDIR:Rexx") NSOPTION_STRING(arexx_startup, "Startup.nsrx") NSOPTION_STRING(arexx_shutdown, "Shutdown.nsrx") NSOPTION_STRING(download_dir, NULL) |