Çözüldü Game Source [-Wformat-zero-length] Hatası Alıyorum.

  • Konuyu açan Konuyu açan sharap
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 475
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

sharap

MT Üye
MT Üye
Mesaj
301
Çözümler
15
Beğeni
142
Puan
529
Ticaret Puanı
0
Merhaba bu hatayı alıyorum da nasıl çözerim acaba?

Seysr:
Genişlet Daralt Kopyala
cmd_gm.cpp: In function 'void do_priv_guild(LPCHARACTER, const char*, int, int)':
cmd_gm.cpp:2902:31: warning: zero-length gnu_printf format string [-Wformat-zero-length]
 2902 |    snprintf(buf, sizeof(buf), msg, g->GetID());



cmd_gm.cpp:
Genişlet Daralt Kopyala
ACMD(do_priv_guild)
{
    static const char msg[] = { '\0' };

    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));

    if (*arg1)
    {
        CGuild * g = CGuildManager::instance().FindGuildByName(arg1);

        if (!g)
        {
            DWORD guild_id = 0;
            str_to_number(guild_id, arg1);
            g = CGuildManager::instance().FindGuild(guild_id);
        }

        if (!g)
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("그런 이름 또는 번호의 길드가 없습니다."));
        else
        {
            char buf[1024+1];
            snprintf(buf, sizeof(buf), msg, g->GetID());

            using namespace quest;
            PC * pc = CQuestManager::instance().GetPC(ch->GetPlayerID());
            QuestState qs = CQuestManager::instance().OpenState("ADMIN_QUEST", QUEST_FISH_REFINE_STATE_INDEX);
            luaL_loadbuffer(qs.co, buf, strlen(buf), "ADMIN_QUEST");
            pc->SetQuest("ADMIN_QUEST", qs);

            QuestState & rqs = *pc->GetRunningQuestState();

            if (!CQuestManager::instance().RunState(rqs))
            {
                CQuestManager::instance().CloseState(rqs);
                pc->EndRunning();
                return;
            }
        }
    }
}
 
Çözüm
C++:
Genişlet Daralt Kopyala
ACMD(do_priv_guild)
{
    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));

    if (*arg1)
    {
        CGuild* g = CGuildManager::instance().FindGuildByName(arg1);

        if (!g)
        {
            DWORD guild_id = 0;
            str_to_number(guild_id, arg1);
            g = CGuildManager::instance().FindGuild(guild_id);
        }

        if (!g)
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("그런 이름 또는 번호의 길드가 없습니다."));
        else
        {
            char buf[1024 + 1];
            snprintf(buf, sizeof(buf), "%d", g->GetID()); // @fixme177

            using namespace quest;
            PC* pc = CQuestManager::instance().GetPC(ch->GetPlayerID());
            QuestState qs =...
C++:
Genişlet Daralt Kopyala
ACMD(do_priv_guild)
{
    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));

    if (*arg1)
    {
        CGuild* g = CGuildManager::instance().FindGuildByName(arg1);

        if (!g)
        {
            DWORD guild_id = 0;
            str_to_number(guild_id, arg1);
            g = CGuildManager::instance().FindGuild(guild_id);
        }

        if (!g)
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("그런 이름 또는 번호의 길드가 없습니다."));
        else
        {
            char buf[1024 + 1];
            snprintf(buf, sizeof(buf), "%d", g->GetID()); // @fixme177

            using namespace quest;
            PC* pc = CQuestManager::instance().GetPC(ch->GetPlayerID());
            QuestState qs = CQuestManager::instance().OpenState("ADMIN_QUEST", QUEST_FISH_REFINE_STATE_INDEX);
            luaL_loadbuffer(qs.co, buf, strlen(buf), "ADMIN_QUEST");
            pc->SetQuest("ADMIN_QUEST", qs);

            QuestState& rqs = *pc->GetRunningQuestState();

            if (!CQuestManager::instance().RunState(rqs))
            {
                CQuestManager::instance().CloseState(rqs);
                pc->EndRunning();
                return;
            }
        }
    }
}
 
Çözüm
C++:
Genişlet Daralt Kopyala
ACMD(do_priv_guild)
{
    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));

    if (*arg1)
    {
        CGuild* g = CGuildManager::instance().FindGuildByName(arg1);

        if (!g)
        {
            DWORD guild_id = 0;
            str_to_number(guild_id, arg1);
            g = CGuildManager::instance().FindGuild(guild_id);
        }

        if (!g)
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("그런 이름 또는 번호의 길드가 없습니다."));
        else
        {
            char buf[1024 + 1];
            snprintf(buf, sizeof(buf), "%d", g->GetID()); // @fixme177

            using namespace quest;
            PC* pc = CQuestManager::instance().GetPC(ch->GetPlayerID());
            QuestState qs = CQuestManager::instance().OpenState("ADMIN_QUEST", QUEST_FISH_REFINE_STATE_INDEX);
            luaL_loadbuffer(qs.co, buf, strlen(buf), "ADMIN_QUEST");
            pc->SetQuest("ADMIN_QUEST", qs);

            QuestState& rqs = *pc->GetRunningQuestState();

            if (!CQuestManager::instance().RunState(rqs))
            {
                CQuestManager::instance().CloseState(rqs);
                pc->EndRunning();
                return;
            }
        }
    }
}
Teşekkürler <3
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst