forked from KolibriOS/kolibrios
newlib: update
git-svn-id: svn://kolibrios.org@6099 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -17,20 +17,31 @@
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<fgets>>---get character string from a file or stream
|
||||
<<fgets>>, <<fgets_unlocked>>---get character string from a file or stream
|
||||
|
||||
INDEX
|
||||
fgets
|
||||
INDEX
|
||||
fgets_unlocked
|
||||
INDEX
|
||||
_fgets_r
|
||||
INDEX
|
||||
_fgets_unlocked_r
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <stdio.h>
|
||||
char *fgets(char *restrict <[buf]>, int <[n]>, FILE *restrict <[fp]>);
|
||||
|
||||
#define _GNU_SOURCE
|
||||
#include <stdio.h>
|
||||
char *fgets_unlocked(char *restrict <[buf]>, int <[n]>, FILE *restrict <[fp]>);
|
||||
|
||||
#include <stdio.h>
|
||||
char *_fgets_r(struct _reent *<[ptr]>, char *restrict <[buf]>, int <[n]>, FILE *restrict <[fp]>);
|
||||
|
||||
#include <stdio.h>
|
||||
char *_fgets_unlocked_r(struct _reent *<[ptr]>, char *restrict <[buf]>, int <[n]>, FILE *restrict <[fp]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <stdio.h>
|
||||
char *fgets(<[buf]>,<[n]>,<[fp]>)
|
||||
@@ -38,6 +49,13 @@ TRAD_SYNOPSIS
|
||||
int <[n]>;
|
||||
FILE *<[fp]>;
|
||||
|
||||
#define _GNU_SOURCE
|
||||
#include <stdio.h>
|
||||
char *fgets_unlocked(<[buf]>,<[n]>,<[fp]>)
|
||||
char *<[buf]>;
|
||||
int <[n]>;
|
||||
FILE *<[fp]>;
|
||||
|
||||
#include <stdio.h>
|
||||
char *_fgets_r(<[ptr]>, <[buf]>,<[n]>,<[fp]>)
|
||||
struct _reent *<[ptr]>;
|
||||
@@ -45,14 +63,30 @@ TRAD_SYNOPSIS
|
||||
int <[n]>;
|
||||
FILE *<[fp]>;
|
||||
|
||||
#include <stdio.h>
|
||||
char *_fgets_unlocked_r(<[ptr]>, <[buf]>,<[n]>,<[fp]>)
|
||||
struct _reent *<[ptr]>;
|
||||
char *<[buf]>;
|
||||
int <[n]>;
|
||||
FILE *<[fp]>;
|
||||
|
||||
DESCRIPTION
|
||||
Reads at most <[n-1]> characters from <[fp]> until a newline
|
||||
is found. The characters including to the newline are stored
|
||||
in <[buf]>. The buffer is terminated with a 0.
|
||||
|
||||
The <<_fgets_r>> function is simply the reentrant version of
|
||||
<<fgets>> and is passed an additional reentrancy structure
|
||||
pointer: <[ptr]>.
|
||||
<<fgets_unlocked>> is a non-thread-safe version of <<fgets>>.
|
||||
<<fgets_unlocked>> may only safely be used within a scope
|
||||
protected by flockfile() (or ftrylockfile()) and funlockfile(). This
|
||||
function may safely be used in a multi-threaded program if and only
|
||||
if they are called while the invoking thread owns the (FILE *)
|
||||
object, as is the case after a successful call to the flockfile() or
|
||||
ftrylockfile() functions. If threads are disabled, then
|
||||
<<fgets_unlocked>> is equivalent to <<fgets>>.
|
||||
|
||||
The functions <<_fgets_r>> and <<_fgets_unlocked_r>> are simply
|
||||
reentrant versions that are passed the additional reentrant structure
|
||||
pointer argument: <[ptr]>.
|
||||
|
||||
RETURNS
|
||||
<<fgets>> returns the buffer passed to it, with the data
|
||||
@@ -65,6 +99,8 @@ PORTABILITY
|
||||
that <<fgets>> returns all of the data, while <<gets>> removes
|
||||
the trailing newline (with no indication that it has done so.)
|
||||
|
||||
<<fgets_unlocked>> is a GNU extension.
|
||||
|
||||
Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
|
||||
<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
|
||||
*/
|
||||
@@ -74,6 +110,11 @@ Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
|
||||
#include <string.h>
|
||||
#include "local.h"
|
||||
|
||||
#ifdef __IMPL_UNLOCKED__
|
||||
#define _fgets_r _fgets_unlocked_r
|
||||
#define fgets fgets_unlocked
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Read at most n-1 characters from the given file.
|
||||
* Stop when a newline has been read, or the count runs out.
|
||||
|
Reference in New Issue
Block a user