Doesn't seem to break anything…
GE5BQQ52QQ2H2PRP336XDLDKHKUGTBBQH4P4IETXAWZJOZUXUQSQC
3E6FUTT3FSGF4KJPP3NCPOSLDPADXMV3PIL4ZMNI4P6KXBKZIDFAC
WNC5SY6P2PBCU62Q2DB5J2M4HPDS5EJY76ZEPHRGGCLJ4BSLBSSQC
ASXBSZVXJCWVX5VQSRWXL5BWQ4NA7JLYXP6LWQTRGYW6DC2DZZPQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
3PY3L3A4QRW3Z5Y7SHO4TMVOOP2VNCO27X2MX4DTOP2SADLBQUOAC
KEANRIMF5CGFVZ2XJYNFPOAKLXOSOJUOVA73IWBWOG576265ERHAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
LIBWXPN6HLJAIGEFJYLOL4HLIUD236U3WM5QPHIZ3DSB4CCUJERAC
JQK4F4RTKVQWIF5YKFPH7IHF7UREBOY2NOFQ7J3O44KYPCNHNL5AC
GSQ72ULBSL6WBJZUB3GJKAPQDXZIQV7B2TDBA5OP2WVGHVJMCQFQC
KSM4H3SBM6FIQTUEGHXXYATJXEOJ4EKUBAFCRMFKSHY7N2HWECRQC
R4TQ3M6GL77RCITERZWQKMEMM3YAGJJE5J2MYOQPH26O5STVKSGAC
2U7VFZ3242P22EPRQKCIHFZRRWHHBZGOEEN2WJNMCXV5BEI67NNAC
C2PRXJYHDRF2642VDAUY76HJKCPQFGWDI6AM3SMCMYCHGWYDQXQQC
JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC
PNRMCHHEBCAUD2XBSSH6JOEQ6A6CFEZBCIX436DVD26DA52OCYTQC
5OVWAD2MGK2NT6Q546KW7HZHELVDBBRC2CQX6VZMZF2YVRC7CPVAC
6LT6USGJOTDMRJGXLAN2NSZXK2GKWEXDKKUV6SVV7ZC6WI6EKMDQC
QXQE7C5XDYNF4JSHGDAVMS7HYLOC6YEZFOVFJ3RD7RB6U4AJSFIQC
VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC
WQIEW3O4MANA2KKYRUWEZP44KHVJ4RRHEZTDXSF4EDELX66LO26QC
LUNOTEIMYZJ7JL5P55GEHUVSDEZMYX3TWYUB2ABRHAYJEWQSSXIAC
GUXTGUEMZYBRGV5QUAQSJHG3AOIQDWWCDIMOX4LASFJAZVGL2WQAC
UKYGZDI6PYZPXDACCQGVPHANUP5ADCSNROOZIE7LYIZQWSNFHJZAC
TW7QOMTSLYPGUUWHGHLY5G5LV6QQRQIKK4BSE64RY7RDGKVDHCEAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
WRDCASRSGOBY5RLVORAMRBSYKEWLLO7VZ4V5NQG2TKBWYNU4OZKAC
HVSBRVFZODK4R7P6EJ7Y7AHZDVRSNSFDHIH3M3DDGG5E26Z4KD5AC
2NCKGJDDPPGP2NXYYPEPVRJIIWEP6M7HE6WYMQN3UNNN3C2JIRFQC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
RGWUYJO74FDGTH22CYSHBKFDGJ4S76WTLIULKPXA4QT5ZCNOB4LQC
LABXKXWWQY2V4FUDLGVTDYHXINAP6KRHZDHBQ2FE22FFOEIZPL6QC
LPTP6ZL7U4OVXLZ56TJKJ6HENDHE7ITFMFBXC5BKEBVXEGXPW44AC
7AMQN7MITMXBNVDAK5VOXTQ4TZIAOD6ZLOFJG7GQMBTY23Y2BKSAC
FMKQARDH6JZ7DUTPPQ6I3LLNQAFGXS36XJCSROUJMEIYQYJDVITQC
W5VEC2PBIM5DMU5233HOWAZUEPTGWJRZZIA3H35YYQQW6BTP6XUAC
PDOFPXD2X6VI23AHKCGQ5RVDBG74CNP2E3YOHKXLOARHHBXEK3HQC
NCDWWDJQLAU5ORSAQGZKJJ5E22VTDGGPJMVVBWQFHQ2B3U3UFHDQC
RNIAOCLZYEW5GB7I536HRPYJ7DSDEXITH5RZP5CPKJYHVUTWBKRQC
S6ZETU2X3HBTKBDL2KTAMCNPMPGHEZO2JGMILIWETWC7XXRS5RYQC
KOMZPTDEZP3P6EWBUECWDY7OWELOUTMAUKNEOJ7PWX5LJBTMRVQAC
3DQXSE4YGFBBDUWK4YEOFWW4UPWILWELFSLP37SL6BERGAZJC5YAC
C25ULNTKMNOXT72ERWSFQZQW5E2OIM3TOGAAA33Z7EZQMZHRS2MAC
OIAQU4VDTZ3EHBNC7FZIOW2QEQLTDHZ7O46XW2YWM6JRVBC66UPQC
PKXXBHS3LWLPZI2QVRX22MSQ4R2626IXRSNHFFYHXYTLJJQU54LQC
RYT42Z6CED4KV5CCJ45CHZ3DQGLFMDCVH6CSQZNXOILULDG4MXVQC
TP5EDQXPVPTKQYTAMN3VQYHM4WRT2RNIR4EDLWLDAV2OQGKSB6KAC
{
strncpy( you.your_name, SysEnv.crawl_name.c_str(), kNameLen );
you.your_name[ kNameLen - 1 ] = 0;
}
you.your_name = SysEnv.crawl_name;
// Restore old name.
strncpy(you.your_name, old_name.c_str(), kNameLen);
you.your_name[kNameLen - 1] = 0;
you.your_name = old_name;
static bool _read_player_name( char *name, int len,
const std::vector<player_save_info> &existing,
slider_menu &menu)
static bool _read_player_name(std::string &name,
const std::vector<player_save_info> &existing,
slider_menu &menu)
line_reader reader(name, len);
char buf[kNameLen];
// XXX: Prompt displays garbage otherwise, but don't really know why.
// Other places don't do this. --rob
buf[0] = '\0';
line_reader reader(buf, sizeof(buf));
// Laboriously trim the damn thing.
std::string read_name = name;
trim_string(read_name);
strncpy(name, read_name.c_str(), kNameLen);
name[kNameLen - 1] = 0;
trim_string(you.your_name);
return validate_player_name(you.your_name, verbose);
}
bool validate_player_name(const char* name, bool verbose)
{
if (stricmp(name, "con") == 0
|| stricmp(name, "nul") == 0
|| stricmp(name, "prn") == 0
|| strnicmp(name, "LPT", 3) == 0)
if (stricmp(name.c_str(), "con") == 0
|| stricmp(name.c_str(), "nul") == 0
|| stricmp(name.c_str(), "prn") == 0
|| strnicmp(name.c_str(), "LPT", 3) == 0)
std::string make_filename( const char *prefix, int level, branch_type branch,
level_area_type lt, bool isGhost );
std::string make_filename(std::string prefix, int level, branch_type branch,
level_area_type lt, bool isGhost );
std::string make_filename( const char *prefix, int level, branch_type where,
level_area_type ltype, bool isGhost )
std::string make_filename(std::string prefix, int level, branch_type where,
level_area_type ltype, bool isGhost)
return get_savedir_filename( prefix, "",
_get_level_suffix(level, where, ltype),
isGhost );
return get_savedir_filename(prefix, "",
_get_level_suffix(level, where, ltype),
isGhost );
for (int i = 0; i < kNameLen; ++i)
{
if (you.your_name[i] == '\0')
{
name_overrun = false;
break;
}
}
if (name_overrun)
{
fprintf(file, "Player name runs past end of your_name buffer." EOL);
you.your_name[kNameLen - 1] = '\0';
}
name_overrun = true;
char name_your[kNameLen+1];
strncpy(name_your, you.your_name, kNameLen);
name_your[kNameLen] = 0;
if (dump_char( name_your, false ))
if (dump_char(you.your_name, false))