Ignore:
Timestamp:
Sep 30, 2006, 1:06:20 PM (15 years ago)
Author:
Sam Hocevar
Message:
  • Better error checking in the figlet renderer.
  • Allow to open fonts that have Unicode data (requires libcucul 0.99.beta6 which is not yet released).
File:
1 edited

Legend:

Unmodified
Added
Removed
  • toilet/trunk/src/main.c

    r1116 r1143  
    3232#include <cucul.h>
    3333
     34#include "toilet.h"
    3435#include "render.h"
    3536#include "figlet.h"
    3637#include "filters.h"
     38
     39char const *toilet_export = "utf8";
     40char const *toilet_font = "mono9";
     41char const *toilet_dir = "/usr/share/figlet/";
    3742
    3843static void version(void);
     
    5156    int i;
    5257
    53     char const *export = "utf8";
    54     char const *font = "mono9";
    55     char const *dir = "/usr/share/figlet/";
    5658    unsigned int flag_gay = 0;
    5759    unsigned int flag_metal = 0;
     
    102104            return 0;
    103105        case 'f': /* --font */
    104             font = optarg;
     106            toilet_font = optarg;
    105107            break;
    106108        case 'd': /* --directory */
    107             dir = optarg;
     109            toilet_dir = optarg;
    108110            break;
    109111        case 'g': /* --gay */
     
    129131        }
    130132        case 'i': /* --irc */
    131             export = "irc";
     133            toilet_export = "irc";
    132134            break;
    133135        case '?':
     
    156158            return 0;
    157159        case 2:
    158             printf("%s\n", dir);
     160            printf("%s\n", toilet_dir);
    159161            return 0;
    160162        case 3:
    161             printf("%s\n", font);
     163            printf("%s\n", toilet_font);
    162164            return 0;
    163165        case 4:
     
    201203
    202204    /* Render string to canvas */
    203     if(!strcasecmp(font, "mono9"))
     205    if(!strcasecmp(toilet_font, "mono9"))
    204206    {
    205207        cv = render_big(string, length);
    206208        filter_autocrop(cv);
    207209    }
    208     else if(!strcasecmp(font, "term"))
     210    else if(!strcasecmp(toilet_font, "term"))
    209211        cv = render_tiny(string, length);
    210212    else
    211         cv = render_figlet(string, length, font);
     213        cv = render_figlet(string, length);
     214
     215    if(!cv)
     216        return -1;
    212217
    213218    /* Do gay stuff with our string (léopard) */
     
    218223
    219224    /* Output char */
    220     buffer = cucul_export_canvas(cv, export);
     225    buffer = cucul_export_canvas(cv, toilet_export);
    221226    fwrite(cucul_get_buffer_data(buffer),
    222227           cucul_get_buffer_size(buffer), 1, stdout);
Note: See TracChangeset for help on using the changeset viewer.