Skip to content

Commit

Permalink
Add implementation of asprintf(3)
Browse files Browse the repository at this point in the history
This should technically be in stdio.h but lives in unistd.h to avoid the
filename collision that would be created by adding a stdio.h.
  • Loading branch information
timwoj committed Oct 2, 2023
1 parent b38e9c8 commit ded96fe
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
8 changes: 8 additions & 0 deletions unistd/unistd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -579,3 +579,11 @@ int vasprintf(char **ptr, const char *format, va_list arg)
*ptr = p;
return rv;
}

int asprintf(char **ret, const char *format, ...)
{ va_list ap;
va_start(ap, format);
int retval = vasprintf(strp, format, ap);
va_end(ap);
return returnval;
}
1 change: 1 addition & 0 deletions unistd/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ CFUNC char* strptime(const char* s, const char* format,struct tm* tm);
CFUNC ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);
CFUNC int setlinebuf(FILE *stream);
CFUNC int vasprintf(char **strp, const char *fmt, va_list ap);
CFUNC int aprintf(char **ret, const char *format, ...);


//#define strlen unistd_safe_strlen
Expand Down

0 comments on commit ded96fe

Please sign in to comment.