Exemplo n.º 1
0
void printLine(PSTR line)
{
	if (++lineCount > MAX_LINES_PER_PAGE)
	{
		printPageHeader();
		lineCount = 1;
	}
	PSTR saveChPtr = nullptr;
	char saveCh	= ' ';
	if (strlen(line) > MAXLEN_PRINTLINE)
	{
		saveCh	 = line[MAXLEN_PRINTLINE];
		saveChPtr  = &line[MAXLEN_PRINTLINE];
		*saveChPtr = nullptr;
	}
	printf("%s", line);
	if (saveChPtr)
		*saveChPtr = saveCh;
}
Exemplo n.º 2
0
void Print::printLine(char line[]) {
	char save_ch = '\0';
	char *save_chp = NULL;

	if (++lineCount > MAX_LINES_PER_PAGE) {
		printPageHeader();
		lineCount = 1;
	}
	if (strlen(line) > MAX_PRINT_LINE_LENGTH) {
		save_chp = &line[MAX_PRINT_LINE_LENGTH];
	}
	if (save_chp) {
		save_ch = *save_chp;
		*save_chp = '\0';
	}
	printf("%s", line);
	if (save_chp) {
		*save_chp = save_ch;
	}
}
Exemplo n.º 3
0
int main(void)
{

    int number = 0;				/*表示する発言番号*/
    int i;						/*カウンタ*/
    char fname[FNAME_LEN];		/*ファイル名作成*/
    char *buffer;				/*バッファ*/
    char **file2Dim;			/*発言ファイルを格納*/
    char **name, **value;		/*QUERY_STRINGのname=value*/
    int count;					/*name=valueの組数*/
    char	Title[BUFSIZE];
    CF		config;

    if(!getConfig( &config )) {
        fatal_error("■ 設定ファイルの読み込みに失敗しました。", body);
        return 1;
    }

    count = getForm(&name, &value);
    buffer = getValue( "number", name, value );
    if( buffer == NULL ) {
        fatal_error("■ システムエラーです。このCGIの実行方法をお確かめください。", body);
        exit(1);
    } else {
        number = atoi( buffer );
        if( number == 0 ) {
            fatal_error("■ システムエラーです。再度実行してください。", body);
            exit(1);
        }
    }

    sprintf( fname,"./file/%d", number );
    file2Dim = readFile( fname );
    if( file2Dim == NULL ) {
        fatal_error("■ システムエラーです。再度実行してください。", body);
        exit(1);
    }

    /*--- フォーム出力 ---*/
    sprintf( Title, "#%d (%s)", number, config.aptitle );
    printPageHeader(Title);
    puts(body);
    printf(" %05d %s <A HREF=\"mailto:%s\">%s</A>  <B>%s</B>\n", number, *(file2Dim + 1), *(file2Dim + 3), *(file2Dim + 2), *(file2Dim + 5));

    printf(
        "<HR>\n"
        "<BLOCKQUOTE>\n"
        "<PRE>%s"
        , font
    );

    for( i = 15; *(file2Dim + i); i++ ) {
        if( **(file2Dim) == '>' )	/*引用行は斜体にする*/
            printf( "<EM>%s</EM>", *(file2Dim + i) );
        else
            fputs( *(file2Dim + i), stdout );
    }

    printUrl( *(file2Dim + 11) );
    printf(
        "</FONT>"
        "</PRE>\n"
        "</BLOCKQUOTE>\n"
        "<HR>\n"
        "</BODY>\n"
        "</HTML>\n"
    );

    freeTwoDimArray( file2Dim );

    if(count > 0)
        freedata(name, value);

    exit(0);
}