diff options
Diffstat (limited to 'amiga/menu.c')
-rw-r--r-- | amiga/menu.c | 20 |
1 files changed, 10 insertions, 10 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); + } } } } |