xref: /plan9/sys/src/cmd/ssh2/common.c (revision 63afb9a5d3f910047231762bcce0ee49fed3d07c)
1*63afb9a5SDavid du Colombier #include <u.h>
2*63afb9a5SDavid du Colombier #include <libc.h>
3*63afb9a5SDavid du Colombier #include "ssh2.h"
4*63afb9a5SDavid du Colombier 
5*63afb9a5SDavid du Colombier void
freeptr(void ** vpp)6*63afb9a5SDavid du Colombier freeptr(void **vpp)
7*63afb9a5SDavid du Colombier {
8*63afb9a5SDavid du Colombier 	char **cpp;
9*63afb9a5SDavid du Colombier 
10*63afb9a5SDavid du Colombier 	cpp = vpp;
11*63afb9a5SDavid du Colombier 	free(*cpp);
12*63afb9a5SDavid du Colombier 	*cpp = nil;
13*63afb9a5SDavid du Colombier }
14*63afb9a5SDavid du Colombier 
15*63afb9a5SDavid du Colombier int
readfile(char * file,char * buf,int size)16*63afb9a5SDavid du Colombier readfile(char *file, char *buf, int size)
17*63afb9a5SDavid du Colombier {
18*63afb9a5SDavid du Colombier 	int n, fd;
19*63afb9a5SDavid du Colombier 
20*63afb9a5SDavid du Colombier 	fd = open(file, OREAD);
21*63afb9a5SDavid du Colombier 	if (fd < 0)
22*63afb9a5SDavid du Colombier 		return -1;
23*63afb9a5SDavid du Colombier 	n = readn(fd, buf, size - 1);
24*63afb9a5SDavid du Colombier 	if (n < 0)
25*63afb9a5SDavid du Colombier 		buf[0] = '\0';
26*63afb9a5SDavid du Colombier 	else
27*63afb9a5SDavid du Colombier 		buf[n] = '\0';
28*63afb9a5SDavid du Colombier 	close(fd);
29*63afb9a5SDavid du Colombier 	return n;
30*63afb9a5SDavid du Colombier }
31