(_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:
Love Hörnquist Åstrand
2005-07-24 20:21:29 +00:00
parent a466928bb3
commit 4c75ad55b0

View File

@@ -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;
}