aboutsummaryrefslogtreecommitdiff
path: root/sys/fio/fnullfile.x
blob: 4080a03be8dd59d44920d3cb3afb919d5136d72b (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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.

# FNULLFILE -- Determine if the named file is the null file.

bool procedure fnullfile (fname)

char	fname[ARB]		# null file candidate

pointer	sp, osfn
bool	first_time, bval
char	nullpath[SZ_FNAME]
int	strmatch()
bool	streq()

data	first_time /true/
string	nullfile "dev$null"

begin
	# Some simple, fast tests first.
	if (streq (fname, nullfile))
	    return (true)
	else if (strmatch (fname, "{null}") == 0)
	    return (false)

	call smark (sp)
	call salloc (osfn, SZ_PATHNAME, TY_CHAR)

	if (first_time) {
	    call fpathname (nullfile, nullpath, SZ_FNAME)
	    first_time = false
	}

	call fpathname (fname, Memc[osfn], SZ_PATHNAME)
	bval = streq (Memc[osfn], nullpath)

	call sfree (sp)
	return (bval)
end