• antirez's avatar
    SCAN code refactored to parse cursor first. · ebcb6251
    antirez authored
    The previous implementation of SCAN parsed the cursor in the generic
    function implementing SCAN, SSCAN, HSCAN and ZSCAN.
    
    The actual higher-level command implementation only checked for empty
    keys and return ASAP in that case. The result was that inverting the
    arguments of, for instance, SSCAN for example and write:
    
        SSCAN 0 key
    
    Instead of
    
        SSCAN key 0
    
    Resulted into no error, since 0 is a non-existing key name very likely.
    Just the iterator returned no elements at all.
    
    In order to fix this issue the code was refactored to extract the
    function to parse the cursor and return the error. Every higher level
    command implementation now parses the cursor and later checks if the key
    exist or not.
    ebcb6251
t_hash.c 23.6 KB