(svn r26511) -Codechange: use strecpy in game_text

This commit is contained in:
rubidium 2014-04-25 17:43:09 +00:00
parent 6ad6845f8c
commit 5e90054f20
4 changed files with 7 additions and 7 deletions

View File

@ -151,11 +151,11 @@ struct StringListReader : StringReader {
{
}
/* virtual */ char *ReadLine(char *buffer, size_t size)
/* virtual */ char *ReadLine(char *buffer, const char *last)
{
if (this->p == this->end) return NULL;
strncpy(buffer, *this->p, size);
strecpy(buffer, *this->p, last);
this->p++;
return buffer;

View File

@ -122,9 +122,9 @@ struct FileStringReader : StringReader {
fclose(this->fh);
}
/* virtual */ char *ReadLine(char *buffer, size_t size)
/* virtual */ char *ReadLine(char *buffer, const char *last)
{
return fgets(buffer, size, this->fh);
return fgets(buffer, last - buffer + 1, this->fh);
}
/* virtual */ void HandlePragma(char *str);

View File

@ -72,10 +72,10 @@ struct StringReader {
/**
* Read a single line from the source of strings.
* @param buffer The buffer to read the data in to.
* @param size The size of the buffer.
* @param last The last element in the buffer.
* @return The buffer, or NULL if at the end of the file.
*/
virtual char *ReadLine(char *buffer, size_t size) = 0;
virtual char *ReadLine(char *buffer, const char *last) = 0;
/**
* Handle the pragma of the file.

View File

@ -821,7 +821,7 @@ void StringReader::ParseFile()
strecpy(_lang.digit_decimal_separator, ".", lastof(_lang.digit_decimal_separator));
_cur_line = 1;
while (this->ReadLine(buf, sizeof(buf)) != NULL) {
while (this->ReadLine(buf, lastof(buf)) != NULL) {
rstrip(buf);
this->HandleString(buf);
_cur_line++;