/** * 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); } }
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); }