662 |
{ |
{ |
663 |
char fname[MAX_FILENAME_SIZE]; |
char fname[MAX_FILENAME_SIZE]; |
664 |
char line[MAX_LINE_SIZE]; |
char line[MAX_LINE_SIZE]; |
665 |
|
struct stat buf; |
666 |
FILE* fp; |
FILE* fp; |
667 |
|
|
668 |
sprintf(fname, "%s/%d", player_dir, uid); |
sprintf(fname, "%s/%d", player_dir, uid); |
669 |
|
//we have some historical directories in there with |
670 |
|
//numerical names. Temporary, but too many double checks |
671 |
|
//aren't usually a problem |
672 |
|
if((stat(fname, &buf) != 0) || !(S_ISREG(buf.st_mode))) |
673 |
|
return -1; |
674 |
fp = fopen(fname, "r"); |
fp = fopen(fname, "r"); |
675 |
if(!fp) |
if(!fp) |
676 |
return -1; |
return -1; |