Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/XRDP/scripts/   (X11 Server Version 0.10.6.1©)  Datei vom 7.6.2026 mit Größe 3 kB image not shown  

Quelle  run_cppcheck.sh

  Sprache: Shell
 

#!/bin/sh

# Script to run cppcheck
#
# Usage: /path/to/run_cppcheck.sh [-f] [ -v CPPCHECK_VER] [<extra_opts_and_dirs>]
#
# - If <extra_opts_and_dirs> is missing, '.' is assumed
# - If '-f' is specified, the exhaustive check level is used. This can take
#   an hour or two.
# - If -v CPPCHECK_VER is specified, that version of cppcheck is run from
#   ~/cppcheck.local (whether or not it's there!). Use install_cppcheck.sh
#   to install a new version.
#
# Environment (all optional):-
#
# CPPCHECK       : Override the default cppcheck command ('cppcheck').
#                  Ignored if -v is specified
# CPPCHECK_FLAGS : Override the default cppcheck flags
# CPPCHECK_QUICK : If non-zero, disables the exhaustive check level.
#                  Useful when developing

# ----------------------------------------------------------------------------
# C P P C H E C K   V E R S I O N   S T R
#
# Get the cppcheck version, and then convert to AABBCC for comparisons
# where AA is the major version, BB is the minor version and CC is the
# revision
# For example, cppcheck version 2.13.0 produces 021300
# ----------------------------------------------------------------------------
CppcheckVerCompareStr()
{
    # shellcheck disable=SC2046
    set -- $($CPPCHECK --version 2>/dev/null)
    while [ $# -gt 0 ]; do
        case "$1" in
            [0123456789]*) break;;
            *) shift
        esac
    done

    if [ $# -eq 0 ]; then
        echo 000000 ; # Something has gone wrong
    else
        case "$1" in
            *.*.*) echo "$1" | awk -F.  '{printf "%02d%02d%02d",$1,$2,$3 }' ;;
            *.*)   echo "$1" | awk -F.  '{printf "%02d%02d00",$1,$2 }' ;;
            *)     printf '%02d0000\n' "$1"
        esac
    fi
}

INSTALL_ROOT=~/cppcheck.local

# Exhaustive test?
if [ "$1" = "-f" ]; then
    check_level=exhaustive
    shift
else
    check_level=normal
fi

# Figure out CPPCHECK setting, if any.
case "$1" in
    -v) # Version is separate parameter
        if [ $# -ge 2 ]; then
            CPPCHECK="$INSTALL_ROOT/$2/bin/cppcheck"
            shift 2
        else
            echo "** ignoring '-v' with no arg" >&2
            shift 1
        fi
        ;;
    -v*) # Version is in same parameter
        # ${parameter#word} is not supported by classic Bourne shell,
        # but it is on bash, dash, etc. If it doesn't work on your shell,
        # don't use this form!
        CPPCHECK="$INSTALL_ROOT/${1#-v}/bin/cppcheck"
        shift 1
esac
if [ -z "$CPPCHECK" ]; then
    CPPCHECK=cppcheck
fi

# Supply default flags passed to cppcheck if necessary
if [ -z "$CPPCHECK_FLAGS" ]; then
    CPPCHECK_FLAGS="--quiet --force --std=c11 --std=c++11 --inline-suppr \
                    --enable=warning --error-exitcode=1 -i third_party \
                    --suppress=uninitMemberVar:ulalaca/ulalaca.cpp \
                    --suppress=shiftTooManyBits:libxrdp/xrdp_mppc_enc.c"

    # Check for flags added in later versions
    CPPCHECK_COMPARE_VERSION=$(CppcheckVerCompareStr)
    if [ "$CPPCHECK_COMPARE_VERSION" -ge 021100 ]; then
        if [ "$check_level" = "normal" ]; then
            # Disable warnings related to the check level
            CPPCHECK_FLAGS="$CPPCHECK_FLAGS \
                --suppress=normalCheckLevelMaxBranches"
        fi
        CPPCHECK_FLAGS="$CPPCHECK_FLAGS --check-level=$check_level"
    else
        # This is echoed later
        check_level="Default (option not supported)"
    fi

    CPPCHECK_FLAGS="$CPPCHECK_FLAGS -I . -I common"
fi
CPPCHECK_FLAGS="$CPPCHECK_FLAGS -D__cppcheck__"

# Any options/directories specified?
if [ $# -eq 0 ]; then
    if [ -f /proc/cpuinfo ]; then
        cpus=$(grep -c '^processor' /proc/cpuinfo)
    else
        cpus=2
    fi
    set -- -j $cpus .
fi

# Display the cppcheck version and command for debugging
"$CPPCHECK" --version && {
    echo "Command: $CPPCHECK $CPPCHECK_FLAGS" "$@"
    echo "Check level: $check_level"

    # shellcheck disable=SC2086
    "$CPPCHECK" $CPPCHECK_FLAGS "$@"
}

Messung V0.5 in Prozent
C=86 H=90 G=87

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet am  2026-07-10) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.