- switch t {
- {string} {set aux [::sha1::sha1 -hex [$r get $k]]} \
- {list} {set aux [::sha1::sha1 -hex [$r lrange $k 0 -1]]} \
- {set} {set aux [::sha1::sha1 -hex [$r smembers $k]]} \
- {zset} {set aux [::sha1::sha1 -hex [$r zrange $k 0 -1]]}
+ switch $t {
+ {string} {
+ set aux [::sha1::sha1 -hex [$r get $k]]
+ } {list} {
+ if {[$r llen $k] == 0} {
+ set aux {}
+ } else {
+ set aux [::sha1::sha1 -hex [$r lrange $k 0 -1]]
+ }
+ } {set} {
+ if {[$r scard $k] == 0} {
+ set aux {}
+ } else {
+ set aux [::sha1::sha1 -hex [lsort [$r smembers $k]]]
+ }
+ } {zset} {
+ if {[$r zcard $k] == 0} {
+ set aux {}
+ } else {
+ set aux [::sha1::sha1 -hex [$r zrange $k 0 -1]]
+ }
+ } default {
+ error "Type not supported"
+ }