示例#1
0
/**
 * Check that at least Homerton.Medium is available.
 */
static void nsfont_check_fonts(void)
{
	char s[252];
	font_f font;
	os_error *error;

	error = xfont_find_font("Homerton.Medium\\ELatin1",
			160, 160, 0, 0, &font, 0, 0);
	if (error) {
		if (error->errnum == error_FILE_NOT_FOUND) {
			xwimp_start_task("TaskWindow -wimpslot 200K -quit "
					"<NetSurf$Dir>.FixFonts", 0);
			die("FontBadInst");
		} else {
			LOG("xfont_find_font: 0x%x: %s", error->errnum, error->errmess);
			snprintf(s, sizeof s, messages_get("FontError"),
					error->errmess);
			die(s);
		}
	}

	error = xfont_lose_font(font);
	if (error) {
		LOG("xfont_lose_font: 0x%x: %s", error->errnum, error->errmess);
		snprintf(s, sizeof s, messages_get("FontError"),
				error->errmess);
		die(s);
	}
}
示例#2
0
void ro_url_load(const char *url)
{
	char *command;
	char *colon;
	os_error *error;

	colon = strchr(url, ':');
	if (!colon) {
		LOG(("invalid url '%s'", url));
		return;
	}

	command = malloc(40 + (colon - url) + strlen(url));
	if (!command) {
		warn_user("NoMemory", 0);
		return;
	}

	sprintf(command, "Alias$URLOpen_%.*s", (int) (colon - url), url);
	if (!getenv(command)) {
		free(command);
		return;
	}

	sprintf(command, "URLOpen_%.*s %s", (int) (colon - url), url, url);

	error = xwimp_start_task(command, 0);
	if (error) {
		LOG(("xwimp_start_task: 0x%x: %s",
				error->errnum, error->errmess));
		warn_user("WimpError", error->errmess);
	}

	free(command);
}