already (const char *spec0, const char *node0) {
	struct mntentchn *mc;
	int ret = 1;
	char *spec = canonicalize_spec(spec0);
	char *node = canonicalize(node0);

	if ((mc = getmntfile(node)) != NULL)
		error (_("mount: according to mtab, "
			 "%s is already mounted on %s"),
		       mc->m.mnt_fsname, node);
	else if (spec && strcmp (spec, "none") &&
		 (mc = getmntfile(spec)) != NULL)
		error (_("mount: according to mtab, %s is mounted on %s"),
		       spec, mc->m.mnt_dir);
	else
		ret = 0;

	free(spec);
	free(node);

	return ret;
}
already (const char *spec0, const char *node0) {
	struct mntentchn *mc;
	int ret = 1;
	char *spec = canonicalize_spec(spec0);
	char *node = canonicalize(node0);

	if ((mc = getmntfile(node)) != NULL)
		error (_("mount: according to mtab, "
			 "%s is already mounted on %s"),
		       mc->m.mnt_fsname, node);
	else if (spec && strcmp (spec, "none") &&
		 (mc = getmntfile(spec)) != NULL)
		error (_("mount: according to mtab, %s is mounted on %s"),
		       spec, mc->m.mnt_dir);
	else
		ret = 0;

	free(spec);
	free(node);

	return ret;
}