Static uncalled function

Функция со статическими возможностями вызывается в файле

Описание

Этот дефект возникает, когда static функция не вызывается в том же файле, где она задана.

Риск

Незакрытые функции часто возникают из-за унаследованного кода и вызывают ненужное обслуживание.

Зафиксировать

Если функция не предназначена для вызова, удалите функцию. Если функция предназначена только для отладки, заверните определение функции в макрос отладки.

См. примеры исправлений ниже.

Если вы не хотите устранять проблему, добавьте комментарии к своему результату или коду, чтобы избежать другой проверки. Смотрите Адрес Результаты Polyspace через исправления ошибок или обоснования.

Примеры

расширить все

Сохраните следующий код в файле Initialize_Value.c

#include <stdlib.h>
#include <stdio.h>

static int Initialize(void) 
/* Defect: Function not called */
  {
   int input;
   printf("Enter an integer:");
   scanf("%d",&input);
   return(input);
  }
  
 void main()
  {
   int num;

   num=0;

   printf("The value of num is %d",num);
  }

The static функциональные Initialize не вызывается в файле Initialize_Value.c.

Коррекция - Вызов функции по крайней мере один раз

Одной из возможных коррекций является вызов Initialize по крайней мере один раз в файле Initialize_Value.c.

#include <stdlib.h>
#include <stdio.h>

static int Initialize(void)
  {
   int input;
   printf("Enter an integer:");
   scanf("%d",&input);
   return(input);
  }

 void main()
  {
   int num;

   /* Fix: Call static function Initialize */
   num=Initialize();
    
   printf("The value of num is %d",num);
  }

Информация о результатах

Группа: Поток данных
Язык: C | C++
По умолчанию: Off
Синтаксис командной строки: UNCALLED_FUNC
Влияние: Низкое
ИДЕНТИФИКАТОР CWE: 561
Введенный в R2013b