tkcomcom1is 2014-07-24 16:16:06

[C] ごめ~ん、忘れちゃった! てへぺろ☆ このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

で済まないんだよ!

コンパイラが古いせいで普通にコンパイルが通っちゃうから、余計に性質が悪い。
そして、あちこちで当たり前のように値を取得してるから、もう何も信用できない。

コード中の※は投稿者による注釈です。

/*
 * バッファをコピーする。
 * char *src コピー元バッファ
 * char *dst コピー先バッファ
 * int size コピーサイズ
 *
 * memcpyと同じだが、引数がおかしいときはエラーコードを返すので、基本的にはこれを使うこと。
 */
int copy_buffer(char *src, char *dst, int size) {
    int i;

    if (size <= 0) {
        return SIZE_ERROR;
        // ※SIZE_ERRORは、あるインクルードヘッダに0以外の数値として#defineされています。
    }

    for (i = 0; i < size; i++) {
        dst[i] = src[i];
    }

}

// 背景を描画する
void display_back_block_image() {
    char* image_1;
    char* image_2;
    char* image_3;
    char* image_4;
    char* disp_image;
    int height[4];
    int width[4];

    // ※(中略)、上の変数で色々初期化をやっています。

    // 1枚目の絵を描画する。失敗したらエラーを出して何も表示しない。
    if (copy_buffer(image_1, disp_image, height[0]*width[0])) {
        display_error(IMAGE_NOT_FOUND);
        return;
        // ※display_errorは、エラーを表示する関数です。
        // ※IMAGE_NOT_FOUNDは、あるインクルードヘッダに0以外の数値として#defineされています。
    }
    display_image(disp_image, width[0], height[0])
    // ※display_imageは、1枚の絵を描画する関数です。

    // 2枚目の絵を描画する。失敗したらエラーを出して何も表示しない。
    if (copy_buffer(image_2, disp_image, height[1]*width[1])) {
        display_error(IMAGE_NOT_FOUND);
        return;
    }
    display_image(disp_image, width[1], height[1])

    // 3枚目の絵を描画する。失敗したらエラーを出して何も表示しない。
    if (copy_buffer(image_3, disp_image, height[2]*width[2])) {
        display_error(IMAGE_NOT_FOUND);
        return;
    }
    display_image(disp_image, width[2], height[2])

    // 4枚目の絵を描画する。失敗したらエラーを出して何も表示しない。
    if (copy_buffer(image_4, disp_image, height[3]*width[3])) {
        display_error(IMAGE_NOT_FOUND);
        return;
    }
    display_image(disp_image, width[3], height[3])

}

使い方ヒント: 「これは臭う」という行を見付けたら、各行のsmellをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

コメント(1)

コメント投稿には、twitter認証が必要です。

Twitter認証

このウンコードに臭った人は、こちらのウンコードにも臭ってます

[その他] HOW TO ABC..

このエントリーをはてなブックマークに追加

実際にあった某システムの超重要なマスター...

create table item_master (
 A varchar(2...

鑑賞する »

[Java] 連番

このエントリーをはてなブックマークに追加

もはや人間が読むものではない。

...

package com.renban.erq053.czp008;

/**...

鑑賞する »

[Java] is禁止令

このエントリーをはてなブックマークに追加

ウンコードの趣旨とは違い、レビューで指摘...

// Mod yamada Start

// 一般的に考えて真偽値を返すメ...

鑑賞する »