(_hx509_write_file): add a function that write a data blob to disk too
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15720 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -82,3 +82,29 @@ _hx509_unmap_file(void *data, size_t len)
|
||||
{
|
||||
free(data);
|
||||
}
|
||||
|
||||
int
|
||||
_hx509_write_file(const char *fn, const void *data, size_t length)
|
||||
{
|
||||
ssize_t sz;
|
||||
const unsigned char *p = data;
|
||||
int fd;
|
||||
|
||||
fd = open(fn, O_WRONLY|O_TRUNC|O_CREAT, 0644);
|
||||
if (fd < 0)
|
||||
return errno;
|
||||
|
||||
do {
|
||||
sz = write(fd, p, length);
|
||||
if (sz < 0)
|
||||
err(1, "write");
|
||||
if (sz == 0)
|
||||
break;
|
||||
length -= sz;
|
||||
} while (length > 0);
|
||||
|
||||
if (close(fd) == -1)
|
||||
return errno;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user