コード例 #1
0
void prev_qso(void)
{
    extern int qsonum;
    extern char last_rst[];

    int i;
    char *str;

    str = g_strdup_printf("%3s %d ", last_rst, qsonum-1);
    for (i=0; i < strlen(str); i++) {
	str[i] = short_number(str[i]);
    }
    sendmessage(str);
    g_free(str);
}
コード例 #2
0
ファイル: sendbuf.c プロジェクト: wildj79/tlf
void ExpandMacro(void) {

    extern char call[20];
    extern char hiscall[20];
    extern char hiscall_sent[];
    extern char his_rst[];
    extern char qsonrstr[5];
    extern char comment[];
    extern char lastqsonr[];
    extern int early_started;
    extern int noleadingzeros;
    extern int lan_active;
    extern int exchange_serial;

    int i;
    static char comstr[BUFSIZE] = "";
    static char qsonroutput[5] = "";
    static char rst_out[4] = "";


    strcpy(comstr, call);
    comstr[strlen(call) - 1] = '\0'; // skip trailing \n
    replace_all(buffer, BUFSIZE, "%", comstr);   /* mycall */


    if (NULL != strstr(buffer, "@")) {
        char *p = hiscall + strlen(hiscall_sent);
	if (strlen(hiscall_sent) != 0) {
	    hiscall_sent[0] = '\0';
	    early_started = 0;
//                              sending_call = 0;
	}
        replace_1(buffer, BUFSIZE, "@", p);   /* his call, 1st occurence */
        replace_all(buffer, BUFSIZE, "@", hiscall);   /* his call, further occurrences */
    }


    strncpy(rst_out, his_rst, 4);
    rst_out[1] = short_number(rst_out[1]);
    rst_out[2] = short_number(rst_out[2]);
    rst_out[3] = '\0';

    replace_all(buffer, BUFSIZE, "[", rst_out);   /* his RST */


    if (NULL != strstr(buffer, "#")) {
        int leading_zeros = 0;
        int lead = 1;
        for (i = 0; i <= 4; i++) {
            if (lead && qsonrstr[i] == '0') {
                ++leading_zeros;
            } else {
                lead = 0;
            }
            qsonroutput[i] = short_number(qsonrstr[i]);
        }
        qsonroutput[4] = '\0';

	if (noleadingzeros != 1 && leading_zeros > 1) {
            leading_zeros = 1;
	}

        replace_all(buffer, BUFSIZE, "#", qsonroutput + leading_zeros);   /* serial nr */

	if ((lan_active == 1) && (exchange_serial == 1)) {
	    strncpy(lastqsonr, qsonrstr, 5);
	    send_lan_message(INCQSONUM, qsonrstr);
	}
    }


    replace_all(buffer, BUFSIZE, "!", comment);
}