mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 18:57:34 +00:00
LibC: Implemented getc_unlocked, stubbed flockfile
Implemented getc_unlocked and stubbed out flockfile() and funlockfile().
This commit is contained in:
parent
bda36853c9
commit
3069988a75
2 changed files with 24 additions and 4 deletions
|
@ -140,12 +140,17 @@ int getc(FILE* stream)
|
||||||
return fgetc(stream);
|
return fgetc(stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int getc_unlocked(FILE* stream)
|
||||||
|
{
|
||||||
|
return fgetc(stream);
|
||||||
|
}
|
||||||
|
|
||||||
int getchar()
|
int getchar()
|
||||||
{
|
{
|
||||||
return getc(stdin);
|
return getc(stdin);
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream)
|
ssize_t getdelim(char** lineptr, size_t* n, int delim, FILE* stream)
|
||||||
{
|
{
|
||||||
char *ptr, *eptr;
|
char *ptr, *eptr;
|
||||||
if (*lineptr == nullptr || *n == 0) {
|
if (*lineptr == nullptr || *n == 0) {
|
||||||
|
@ -170,7 +175,7 @@ ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream)
|
||||||
return ptr - *lineptr;
|
return ptr - *lineptr;
|
||||||
}
|
}
|
||||||
if (ptr + 2 >= eptr) {
|
if (ptr + 2 >= eptr) {
|
||||||
char *nbuf;
|
char* nbuf;
|
||||||
size_t nbuf_sz = *n * 2;
|
size_t nbuf_sz = *n * 2;
|
||||||
ssize_t d = ptr - *lineptr;
|
ssize_t d = ptr - *lineptr;
|
||||||
if ((nbuf = static_cast<char*>(realloc(*lineptr, nbuf_sz))) == nullptr) {
|
if ((nbuf = static_cast<char*>(realloc(*lineptr, nbuf_sz))) == nullptr) {
|
||||||
|
@ -184,7 +189,7 @@ ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t getline(char **lineptr, size_t *n, FILE *stream)
|
ssize_t getline(char** lineptr, size_t* n, FILE* stream)
|
||||||
{
|
{
|
||||||
return getdelim(lineptr, n, '\n', stream);
|
return getdelim(lineptr, n, '\n', stream);
|
||||||
}
|
}
|
||||||
|
@ -616,6 +621,18 @@ int vfscanf(FILE* stream, const char* fmt, va_list ap)
|
||||||
return vsscanf(buffer, fmt, ap);
|
return vsscanf(buffer, fmt, ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void flockfile(FILE* filehandle)
|
||||||
|
{
|
||||||
|
(void)filehandle;
|
||||||
|
dbgprintf("FIXME: Implement flockfile()\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void funlockfile(FILE* filehandle)
|
||||||
|
{
|
||||||
|
(void)filehandle;
|
||||||
|
dbgprintf("FIXME: Implement funlockfile()\n");
|
||||||
|
}
|
||||||
|
|
||||||
FILE* tmpfile()
|
FILE* tmpfile()
|
||||||
{
|
{
|
||||||
dbgprintf("FIXME: Implement tmpfile()\n");
|
dbgprintf("FIXME: Implement tmpfile()\n");
|
||||||
|
|
|
@ -56,6 +56,7 @@ int fputc(int ch, FILE*);
|
||||||
int fileno(FILE*);
|
int fileno(FILE*);
|
||||||
int fgetc(FILE*);
|
int fgetc(FILE*);
|
||||||
int getc(FILE*);
|
int getc(FILE*);
|
||||||
|
int getc_unlocked(FILE* stream);
|
||||||
int getchar();
|
int getchar();
|
||||||
ssize_t getdelim(char**, size_t*, int, FILE*);
|
ssize_t getdelim(char**, size_t*, int, FILE*);
|
||||||
ssize_t getline(char**, size_t*, FILE*);
|
ssize_t getline(char**, size_t*, FILE*);
|
||||||
|
@ -64,6 +65,8 @@ int remove(const char* pathname);
|
||||||
FILE* fdopen(int fd, const char* mode);
|
FILE* fdopen(int fd, const char* mode);
|
||||||
FILE* fopen(const char* pathname, const char* mode);
|
FILE* fopen(const char* pathname, const char* mode);
|
||||||
FILE* freopen(const char* pathname, const char* mode, FILE*);
|
FILE* freopen(const char* pathname, const char* mode, FILE*);
|
||||||
|
void flockfile(FILE* filehandle);
|
||||||
|
void funlockfile(FILE* filehandle);
|
||||||
int fclose(FILE*);
|
int fclose(FILE*);
|
||||||
void rewind(FILE*);
|
void rewind(FILE*);
|
||||||
void clearerr(FILE*);
|
void clearerr(FILE*);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue