summaryrefslogtreecommitdiff
path: root/src/user/lib/fwik/io/Node.cpp
blob: 1d8b7f50f557bb3c1f65416927b9eaa98d2d6eb3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <IO/Node.h>

Node::Node(FILE f) {
	fd = f;
	int i = libc::statf(f, &info);
	valid = (i == 0);
}

Node::Node(char* filename, int mode) {
	fd = libc::open(filename, mode);
	if (fd < 0) {
		valid = false;
	} else {
		int i = libc::statf(fd, &info);
		valid = (i == 0);
		if (!valid) libc::close(fd);
	}
}

void Node::close() {
	if (valid) libc::close(fd);
	valid = false;
}