added amb1558 - __BINARY_PATH__ and __BINARY_FILE__

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402015
This commit is contained in:
David Anderson 2008-04-10 00:10:45 +00:00
parent f08ce7f62f
commit 430a860927

View File

@ -143,6 +143,7 @@ static void addwhile(int *ptr);
static void delwhile(void); static void delwhile(void);
static int *readwhile(void); static int *readwhile(void);
static void inst_datetime_defines(void); static void inst_datetime_defines(void);
static void inst_binary_name(char *binfname);
enum { enum {
TEST_PLAIN, /* no parentheses */ TEST_PLAIN, /* no parentheses */
@ -332,6 +333,7 @@ int pc_compile(int argc, char *argv[])
#if !defined NO_DEFINE #if !defined NO_DEFINE
delete_substtable(); delete_substtable();
inst_datetime_defines(); inst_datetime_defines();
inst_binary_name(binfname);
#endif #endif
resetglobals(); resetglobals();
pstructs_free(); pstructs_free();
@ -561,6 +563,35 @@ int pc_addconstant(char *name,cell value,int tag)
return 1; return 1;
} }
static void inst_binary_name(char *binfname)
{
size_t i, len;
char *binptr;
binptr = NULL;
len = strlen(binfname);
for (i = len - 1; i >= 0 && i < len; i--)
{
if (binfname[i] == '/'
#if defined WIN32 || defined _WIN32
|| binfname[i] == '\\'
#endif
)
{
binptr = &binfname[i + 1];
break;
}
}
if (binptr == NULL)
{
binptr = binfname;
}
insert_subst("__BINARY_PATH__", binfname, 15);
insert_subst("__BINARY_NAME__", binptr, 15);
}
static void inst_datetime_defines(void) static void inst_datetime_defines(void)
{ {
char date[64]; char date[64];