Ejemplo n.º 1
0
Archivo: fsedit.c Proyecto: bbs-io/mbse
void Hl(int y, char *txt)
{
    Ls(y);
    strncat(hstr, colour_str(WHITE, BLUE), 80);
    strncat(hstr, padleft(txt, 58, ' '), 80);
    Rs();
    PUTSTR(chartran(hstr));
}
Ejemplo n.º 2
0
Archivo: fsedit.c Proyecto: bbs-io/mbse
void Full_Help(void)
{
    strcpy(hstr, colour_str(LIGHTGREEN, BLUE));

    /* Top row */
    strncat(hstr, locate_str(1, 10), 80);
    strncat(hstr, (char *)"\xDA", 80);
    strncat(hstr, hLine_str(58), 80);
    strncat(hstr, (char *)"\xBF", 80);
    PUTSTR(chartran(hstr));

    Ws(2);
    PUTSTR(chartran(hstr));

    Ls(3);
    strncat(hstr, colour_str(YELLOW, BLUE), 80);
    strncat(hstr, padleft((char *)"                  Editor Help", 58, ' '), 80);
    Rs();
    PUTSTR(chartran(hstr));

    Ws(4);
    PUTSTR(chartran(hstr));

    Hl( 5, (char *)"Ctrl-S or LeftArrow     - Cursor left");
    Hl( 6, (char *)"Ctrl-D or RightArrow    - Cursor right");
    Hl( 7, (char *)"Ctrl-E or UpArrow       - Cursor up");
    Hl( 8, (char *)"Ctrl-X or DownArrow     - Cursor down");
    Hl( 9, (char *)"Ctrl-V or Insert        - Insert or Overwrite");
    Hl(10, (char *)"Ctrl-N                  - Insert line");
    Hl(11, (char *)"Ctrl-Y                  - Delete line");
    Ws(12);
    PUTSTR(chartran(hstr));
    Hl(13, (char *)"Ctrl-L                  - Refresh screen");
    Hl(14, (char *)"Ctrl-R                  - Read from file");
    Ws(15);
    PUTSTR(chartran(hstr));

    strcpy(hstr, locate_str(16,10));
    strncat(hstr, (char *)"\xC0", 80);
    strncat(hstr, hLine_str(58), 80);
    strncat(hstr, (char *)"\xD9", 80);
    PUTSTR(chartran(hstr));
}
Ejemplo n.º 3
0
int
colour_sca (char *string, char *aryidx, int n)
{
    int         i, r, rtn=0;
    char       *p;
    spc_t      *spc;

    memset (aryidx, 0, n);

    /*
     *  Process each converted entry from the config file
     *  using the appropriate matching algorithm.  The 'rtn'
     *  variable is used to pass back information about
     *  whether a match was found or not for subsequent use
     *  in conjunction with 'opt_matching'.
     */
    for (spc=Spc, r=0; r<Spn; r++, spc++) {

        if (spc->patype == PATYPE_REGEXP || spc->patype == PATYPE_RECASE)
            rtn |= colour_rex (spc, string, aryidx, n);
        else if (spc->patype == PATYPE_STRING)
            rtn |= colour_str (spc, string, aryidx, n);
        else if (spc->patype == PATYPE_CHARS)
            rtn |= colour_chr (spc, string, aryidx, n);
        else    /* PATYPE_UNIXTM */
            rtn |= colour_rex (spc, string, aryidx, n);

    }

    if (opt_debug > 3) {
        p = string; for (i=0; i<n; i++) putchar (*p++); putchar ('\n');
        p = aryidx; for (i=0; i<n; i++) putchar (*p++); putchar ('\n');
    }

    return (rtn);
}
Ejemplo n.º 4
0
Archivo: fsedit.c Proyecto: bbs-io/mbse
void Rs()
{
    strncat(hstr,  colour_str(LIGHTGREEN, BLUE), 80);
    strncat(hstr, (char *)"\xB3", 80);
}
Ejemplo n.º 5
0
Archivo: pinfo.c Proyecto: bbs-io/mbse
/*
 * Product information screen
 */
void cr(void)
{
    char    *temp;

    temp       = calloc(81, sizeof(char));

    if (utf8)
	chartran_init((char *)"CP437", (char *)"UTF-8", 'B');

    strncpy(pstr, clear_str(), 255);
    strncat(pstr, colour_str(DARKGRAY, BLACK), 255);

    /* Print top row */
    strncat(pstr, (char *)"\xDA", 255);
    strncat(pstr, hLine_str(76), 255);
    strncat(pstr, (char *)"\xBF\r\n", 255);
    PUTSTR(chartran(pstr));

    wl();
    PUTSTR(chartran(pstr));

    ls();
    snprintf(temp, 80, "MBSE Bulletin Board System %s (%s-%s)", VERSION, OsName(), OsCPU());
    strncat(pstr, pout_str(YELLOW, BLACK, padleft(temp, 76, ' ')), 255);
    rs();
    PUTSTR(chartran(pstr));

    wl();
    PUTSTR(chartran(pstr));

    ls();
    snprintf(temp, 81, "%s", COPYRIGHT);
    strncat(pstr, pout_str(LIGHTCYAN, BLACK, padleft(temp, 76, ' ')), 255);
    rs();
    PUTSTR(chartran(pstr));

    wl();
    PUTSTR(chartran(pstr));

    ls();
    snprintf(temp, 81, "Compiled on %s at %s", __DATE__, __TIME__);
    strncat(pstr, pout_str(LIGHTRED, BLACK, padleft(temp, 76, ' ')), 255);
    rs();
    PUTSTR(chartran(pstr));

    wl();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(LIGHTCYAN, BLACK, (char *)"MBSE has been written and designed by Michiel Broek. Many others have given "), 255);
    rs();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(LIGHTCYAN, BLACK, (char *)"valuable time in the form of new ideas and suggestions on how to make MBSE  "), 255);
    rs();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(LIGHTCYAN, BLACK, (char *)"BBS a better BBS                                                            "), 255);
    rs();
    PUTSTR(chartran(pstr));
    
    wl();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(WHITE, BLACK, (char *)"Available from http://www.mbse.eu or 2:280/2802                             "), 255);
    rs();
    PUTSTR(chartran(pstr));

    wl();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(LIGHTRED, BLACK, (char *)"JAM(mbp) - Copyright 1993 Joaquim Homrighausen, Andrew Milner,              "),
 255);
    rs();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(LIGHTRED, BLACK, (char *)"                          Mats Birch, Mats Wallin.                          "), 255);
    rs();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(LIGHTRED, BLACK, (char *)"                          ALL RIGHTS RESERVED.                              "), 255);
    rs();
    PUTSTR(chartran(pstr));

    wl();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(LIGHTBLUE, BLACK,  (char *)"This is free software; released under the terms of the GNU General Public   "), 255);
    rs();
    PUTSTR(chartran(pstr));

    ls();
    strncat(pstr, pout_str(LIGHTBLUE, BLACK,  (char *)"License as published by the Free Software Foundation.                       "), 255);
    rs();
    PUTSTR(chartran(pstr));

    wl();
    PUTSTR(chartran(pstr));

    strcpy(pstr, (char *)"\xC0");
    strncat(pstr, hLine_str(76), 255);
    strncat(pstr, (char *)"\xD9\r\n", 255);
    PUTSTR(chartran(pstr));

    free(temp);
    chartran_close();
    Enter(1);
    Pause();
}
Ejemplo n.º 6
0
Archivo: pinfo.c Proyecto: bbs-io/mbse
void rs(void)
{
    strncat(pstr, colour_str(DARKGRAY, BLACK), 255);
    strncat(pstr, (char *)"\xB3\r\n", 255);
}
Ejemplo n.º 7
0
/*
 * Display last callers screen.
 */
void LastCallers(char *OpData)
{
    FILE		    *fp;
    int			    LineCount = 5, count = 0;
    char		    lstr[201], *sFileName, *Heading;
    struct lastcallers	    lcall;
    struct lastcallershdr   lcallhdr;

    sFileName = calloc(PATH_MAX, sizeof(char));
    Heading   = calloc(81, sizeof(char));

    if (utf8)
        chartran_init((char *)"CP437", (char *)"UTF-8", 'B');

    strcpy(lstr, clear_str());
    PUTSTR(chartran(lstr));

    snprintf(sFileName, PATH_MAX, "%s/etc/lastcall.data", getenv("FTND_ROOT"));
    if ((fp = fopen(sFileName,"r")) == NULL)
        WriteError("$LastCallers: Can't open %s", sFileName);
    else {
        fread(&lcallhdr, sizeof(lcallhdr), 1, fp);

        strcpy(lstr, colour_str(WHITE, BLACK));
        /* Todays callers to */
        snprintf(Heading, 81, "%s%s", (char *) Language(84), CFG.bbs_name);
        strncat(lstr, Center_str(Heading), 200);
        PUTSTR(chartran(lstr));

        strcpy(lstr, colour_str(LIGHTRED, BLACK));
        strncat(lstr, Center_str(hLine_str(strlen(Heading))), 200);
        PUTSTR(chartran(lstr));
        Enter(1);

        /* #  User Name               Device  timeOn  Calls Location */
        strcpy(lstr, poutCR_str(LIGHTGREEN, BLACK, (char *) Language(85)));
        PUTSTR(chartran(lstr));

        strcpy(lstr, colour_str(GREEN, BLACK));
        strncat(lstr, fLine_str(cols -1), 200);
        PUTSTR(chartran(lstr));

        while (fread(&lcall, lcallhdr.recsize, 1, fp) == 1) {
            if (!lcall.Hidden) {
                count++;

                strcpy(lstr, colour_str(WHITE, BLACK));
                snprintf(Heading, 80, "%-5d", count);
                strncat(lstr, Heading, 200);

                strncat(lstr, colour_str(LIGHTCYAN, BLACK), 200);
                if ((strcasecmp(OpData, "/H")) == 0) {
                    if ((strcmp(lcall.Handle, "") != 0 && *(lcall.Handle) != ' '))
                        snprintf(Heading, 80, "%-20s", lcall.Handle);
                    else
                        snprintf(Heading, 80, "%-20s", lcall.UserName);
                } else if (strcasecmp(OpData, "/U") == 0) {
                    snprintf(Heading, 80, "%-20s", lcall.Name);
                } else {
                    snprintf(Heading, 80, "%-20s", lcall.UserName);
                }
                strncat(lstr, Heading, 200);

                snprintf(Heading, 80, "%-8s", lcall.Device);
                strncat(lstr, pout_str(LIGHTBLUE, BLACK, Heading), 200);

                snprintf(Heading, 80, "%-8s", lcall.TimeOn);
                strncat(lstr, pout_str(LIGHTMAGENTA, BLACK, Heading), 200);

                snprintf(Heading, 80, "%-7d", lcall.Calls);
                strncat(lstr, pout_str(YELLOW, BLACK, Heading), 200);

                snprintf(Heading, 80, "%-32s", lcall.Location);
                strncat(lstr, pout_str(LIGHTRED, BLACK, Heading), 200);
                PUTSTR(chartran(lstr));
                Enter(1);

                LineCount++;
                if (LineCount == (rows -2)) {
                    Pause();
                    LineCount = 0;
                }

            } /* End of check if user is hidden */
        }

        strcpy(lstr, colour_str(GREEN, BLACK));
        strncat(lstr, fLine_str(cols -1), 200);
        PUTSTR(chartran(lstr));

        fclose(fp);
        Enter(1);
        Pause();
    }

    free(sFileName);
    free(Heading);
    chartran_close();
}