summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2013-11-10 12:49:46 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2013-11-10 12:49:46 +0000
commit5adb1fb1ddbc7adc1a84736c9a1a434d0bf1c0b0 (patch)
treec72c2a0fe9c1187c8cb7a480a4e9ee03fbbc71cf
parentc781ca27b725b0dddb76650ba39794f90df105eb (diff)
downloadnetsurf-5adb1fb1ddbc7adc1a84736c9a1a434d0bf1c0b0.tar.gz
netsurf-5adb1fb1ddbc7adc1a84736c9a1a434d0bf1c0b0.tar.bz2
Workaround for AM_EXECUTE not supporting PROGDIR:
-rw-r--r--amiga/menu.c20
-rw-r--r--amiga/options.h2
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)