mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-14 02:26:59 -07:00
Make LUA scripting work even if proxmark3 is called from arbitrary working directory
- add @gpakosz whereami library (https://github.com/gpakosz/whereami) in order to ... - determine and set absolute paths for LUA scripts and LUA libraries
This commit is contained in:
parent
4c16ae80f0
commit
4197a3f6ff
8 changed files with 782 additions and 8 deletions
|
@ -25,6 +25,8 @@
|
|||
#include "sleep.h"
|
||||
#include "cmdparser.h"
|
||||
#include "cmdhw.h"
|
||||
#include "whereami.h"
|
||||
|
||||
|
||||
// a global mutex to prevent interlaced printing from different threads
|
||||
pthread_mutex_t print_lock;
|
||||
|
@ -195,6 +197,33 @@ static void dumpAllHelp(int markdown)
|
|||
dumpCommandsRecursive(cmds, markdown);
|
||||
}
|
||||
|
||||
static char *my_executable_path = NULL;
|
||||
static char *my_executable_directory = NULL;
|
||||
|
||||
const char const *get_my_executable_path(void)
|
||||
{
|
||||
return my_executable_path;
|
||||
}
|
||||
|
||||
const char const *get_my_executable_directory(void)
|
||||
{
|
||||
return my_executable_directory;
|
||||
}
|
||||
|
||||
static void set_my_executable_path(void)
|
||||
{
|
||||
int path_length = wai_getExecutablePath(NULL, 0, NULL);
|
||||
if (path_length != -1) {
|
||||
my_executable_path = (char*)malloc(path_length + 1);
|
||||
int dirname_length = 0;
|
||||
if (wai_getExecutablePath(my_executable_path, path_length, &dirname_length) != -1) {
|
||||
my_executable_path[path_length] = '\0';
|
||||
my_executable_directory = (char *)malloc(dirname_length + 2);
|
||||
strncpy(my_executable_directory, my_executable_path, dirname_length+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
srand(time(0));
|
||||
|
||||
|
@ -217,6 +246,9 @@ int main(int argc, char* argv[]) {
|
|||
dumpAllHelp(1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
set_my_executable_path();
|
||||
|
||||
// Make sure to initialize
|
||||
struct main_loop_arg marg = {
|
||||
.usb_present = 0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue