Merge pull request #155 from jadziamd/main
Standardise Implementation of get_s C function
This commit is contained in:
commit
c1071ecd3c
|
@ -29,13 +29,23 @@ char * gets(char * str)
|
||||||
|
|
||||||
char * gets_s(char * str, size_t n)
|
char * gets_s(char * str, size_t n)
|
||||||
{
|
{
|
||||||
|
if (str == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (n < 2)
|
||||||
|
return NULL;
|
||||||
char i = 0, t = n - 1;
|
char i = 0, t = n - 1;
|
||||||
|
|
||||||
while ((char ch = getpch()) != '\n')
|
while ((char ch = getpch()) != '\n')
|
||||||
{
|
{
|
||||||
if (i < t)
|
if (i < t)
|
||||||
str[i++] = ch;
|
str[i] = ch;
|
||||||
|
++i;
|
||||||
}
|
}
|
||||||
str[i] = 0;
|
str[(i < t) ? i : t] = '\0';
|
||||||
|
|
||||||
|
if (i > t)
|
||||||
|
return NULL;
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue