| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function cli_checkPathComponent { |
| |
| |
| local ARGSS='' |
| |
| |
| local ARGSL='release,architecture,motif,everything' |
| |
| |
| local -a CONDITION_PATTERN |
| local -a CONDITION_MESSAGE |
| |
| |
| local COUNTER=0 |
| |
| |
| |
| |
| local ARGUMENTS='' |
| |
| |
| cli_parseArgumentsReDef "$@" |
| |
| |
| cli_parseArguments |
| |
| |
| eval set -- "$ARGUMENTS" |
| |
| |
| while true; do |
| |
| case "$1" in |
| |
| --release ) |
| CONDITION_PATTERN[((++${#CONDITION_PATTERN[*]}))]="^.+/$(cli_getPathComponent --release-pattern)/.*$" |
| CONDITION_MESSAGE[((++${#CONDITION_MESSAGE[*]}))]="`gettext "contains an invalid release format."`" |
| shift 1 |
| ;; |
| |
| --architecture ) |
| CONDITION_PATTERN[((++${#CONDITION_PATTERN[*]}))]="$(cli_getPathComponent --architecture-pattern)" |
| CONDITION_MESSAGE[((++${#CONDITION_MESSAGE[*]}))]="`gettext "contains an invalid architecture format."`" --as-error-line |
| shift 1 |
| ;; |
| |
| --motif ) |
| CONDITION_PATTERN[((++${#CONDITION_PATTERN[*]}))]="$(cli_getPathComponent --motif-pattern)" |
| CONDITION_MESSAGE[((++${#CONDITION_MESSAGE[*]}))]="`gettext "contains an invalid theme format."`" |
| shift 1 |
| ;; |
| |
| --everything ) |
| CONDITION_PATTERN[((++${#CONDITION_PATTERN[*]}))]="^[[:alnum:]/]+" |
| CONDITION_MESSAGE[((++${#CONDITION_MESSAGE[*]}))]="`gettext "contains an invalid format."`" |
| shift 1 |
| ;; |
| |
| -- ) |
| shift 1 |
| break |
| ;; |
| |
| esac |
| done |
| |
| |
| |
| |
| local FILE='' |
| local FILES="$@" |
| |
| for FILE in $FILES;do |
| |
| while [[ ${COUNTER} -lt ${#CONDITION_PATTERN[*]} ]];do |
| |
| if [[ ! ${FILE} =~ "${CONDITION_PATTERN[$COUNTER]}" ]];then |
| cli_printMessage "${FILE} ${CONDITION_MESSAGE[$COUNTER]}" --as-error-line |
| fi |
| |
| COUNTER=$(($COUNTER + 1)) |
| |
| done |
| |
| done |
| |
| } |