what would cause a code to not be found in symbol table?
< Newer Topic
:: Older Topic >
Pages:<< prev 1 next >>
#1 Mar 23, 2018 4:33 am
Apprentice
GroupMembers
Posts78
JoinedAug 28, 2016
I may solve this by the time i sleep and refresh my brain... it has been a long day...
but I have created a code, do_banktransfer. it compiles fine with no errors.. I have added the declare_do_fun in mud.h as I have with every other code I have written...
everything else has gone in fine, but when trying to cedit banktransfer create do_banktransfer, I get the error:
"Bug: [*****] BUG: Error locating do_banktransfer in symbol table. No such process"
What would cause this? I figured a typo at first... the function not matching up to the declare in mud.h, but that wasn't the case... what else could I have missed?
but I have created a code, do_banktransfer. it compiles fine with no errors.. I have added the declare_do_fun in mud.h as I have with every other code I have written...
everything else has gone in fine, but when trying to cedit banktransfer create do_banktransfer, I get the error:
"Bug: [*****] BUG: Error locating do_banktransfer in symbol table. No such process"
What would cause this? I figured a typo at first... the function not matching up to the declare in mud.h, but that wasn't the case... what else could I have missed?
#2 Mar 23, 2018 4:37 am
Apprentice
GroupMembers
Posts78
JoinedAug 28, 2016
here is the code for reference... I am sure it has a bug or two to work out other than the one this topic is about... but here
void do_banktransfer ( CHAR_DATA * ch, CHAR_DATA * victim, const char *argument ) { char arg1[MAX_INPUT_LENGTH]; char arg2[MAX_INPUT_LENGTH]; char buf[MAX_STRING_LENGTH]; int value; if( IS_NPC( ch ) ) return; if( arg1 == '\0' ) { send_to_pager( "You must input the name of an online character.\r\n", ch ); return; } if( arg2 == '\0' ) { send_to_pager( "You must enter an amount to transfer.\r\n", ch ); return; } mudstrlcat( buf, "0.", MAX_STRING_LENGTH ); mudstrlcat( buf, arg1, MAX_STRING_LENGTH ); if( ( ( victim = get_char_world( ch, buf ) ) == NULL ) ) { send_to_pager( "No such character online.\r\n", ch ); return; } if( IS_NPC( victim ) ) { send_to_pager( "That's not a player!\r\n", ch ); return; } value = atoi( arg2 ); if (ch->pcdata->balance < value) { send_to_char( "You do not have enough in your account\r\n", ch); return; } pager_printf( ch, "Transferring %d Gold", value); ch->pcdata->balance -= value; victim->pcdata->balance += value; pager_printf( victim, "%d has just been transferred into your account\r", value); pager_printf( ch, "%d has just been transferred\r", value); }
#3 Mar 23, 2018 8:43 pm
Conjurer
GroupMembers
Posts413
JoinedMar 7, 2005
joeyfogas said:
I may solve this by the time i sleep and refresh my brain... it has been a long day...
but I have created a code, do_banktransfer. it compiles fine with no errors.. I have added the declare_do_fun in mud.h as I have with every other code I have written...
everything else has gone in fine, but when trying to cedit banktransfer create do_banktransfer, I get the error:
"Bug: [*****] BUG: Error locating do_banktransfer in symbol table. No such process"
What would cause this? I figured a typo at first... the function not matching up to the declare in mud.h, but that wasn't the case... what else could I have missed?
Are you using a newer codebase with dlsym support or still need to add things to tables.c as well?
#4 Mar 23, 2018 11:59 pm
Apprentice
GroupMembers
Posts78
JoinedAug 28, 2016
newer.. never have to go into tables.c to add a new function
#5 Mar 25, 2018 11:56 pm
Apprentice
GroupMembers
Posts78
JoinedAug 28, 2016
ok, i found out...
in SmaugFUSS 1.9.2 and whichever other versions require "const char" instead of "char", if you do NOT have "const char", even if the code compiles, it won't find the code when trying to cedit it in.
Hopes this helps someone in the future who may encounter the same issue
in SmaugFUSS 1.9.2 and whichever other versions require "const char" instead of "char", if you do NOT have "const char", even if the code compiles, it won't find the code when trying to cedit it in.
Hopes this helps someone in the future who may encounter the same issue
#6 Mar 28, 2018 3:26 am
Conjurer
GroupMembers
Posts413
JoinedMar 7, 2005
joeyfogas said:
ok, i found out...
in SmaugFUSS 1.9.2 and whichever other versions require "const char" instead of "char", if you do NOT have "const char", even if the code compiles, it won't find the code when trying to cedit it in.
Hopes this helps someone in the future who may encounter the same issue
Can you be more specific? Where did you have char that required const char instead? I don't use dlsym, but those that do might find this helpful and will probably ask the same thing.
Pages:<< prev 1 next >>