Merge pull request #4250 from mcornella/fix-divide-by-zero-emoji

Fix divide by zero in emoji plugin
This commit is contained in:
Robby Russell 2015-08-30 21:38:09 -07:00
commit 9c9699dcf5

View file

@ -76,8 +76,6 @@ emoji_skintone[6]=$'\U1F3FF'
# These are stored in a single associative array, $emoji_groups, to avoid cluttering up the global # These are stored in a single associative array, $emoji_groups, to avoid cluttering up the global
# namespace, and to allow adding additional group definitions at run time. # namespace, and to allow adding additional group definitions at run time.
# The keys are the group names, and the values are whitespace-separated lists of emoji character names. # The keys are the group names, and the values are whitespace-separated lists of emoji character names.
#
# These extra local arrays are used to allow more convenient formatting of the source code.
emoji_groups[fruits]=" emoji_groups[fruits]="
tomato tomato
@ -255,9 +253,10 @@ function random_emoji() {
if [[ -z "$group" || "$group" == "all" ]]; then if [[ -z "$group" || "$group" == "all" ]]; then
names=(${(k)emoji}) names=(${(k)emoji})
else else
names=(${=emoji_groups[$group_name]}) names=(${=emoji_groups[$group]})
fi fi
local list_size=$#names local list_size=${#names}
[[ $list_size -eq 0 ]] && return 1
local random_index=$(( ( RANDOM % $list_size ) + 1 )) local random_index=$(( ( RANDOM % $list_size ) + 1 ))
local name=${names[$random_index]} local name=${names[$random_index]}
echo ${emoji[$name]} echo ${emoji[$name]}