@@ -556,18 +556,19 @@ type Marshaler interface {
556556}
557557
558558// AppendAny appends any type to valid Redis type.
559- // nil -> null
560- // error -> error (adds "ERR " when first word is not uppercase)
561- // string -> bulk-string
562- // numbers -> bulk-string
563- // []byte -> bulk-string
564- // bool -> bulk-string ("0" or "1")
565- // slice -> array
566- // map -> array with key/value pairs
567- // SimpleString -> string
568- // SimpleInt -> integer
569- // Marshaler -> raw bytes
570- // everything-else -> bulk-string representation using fmt.Sprint()
559+ //
560+ // nil -> null
561+ // error -> error (adds "ERR " when first word is not uppercase)
562+ // string -> bulk-string
563+ // numbers -> bulk-string
564+ // []byte -> bulk-string
565+ // bool -> bulk-string ("0" or "1")
566+ // slice -> array
567+ // map -> array with key/value pairs
568+ // SimpleString -> string
569+ // SimpleInt -> integer
570+ // Marshaler -> raw bytes
571+ // everything-else -> bulk-string representation using fmt.Sprint()
571572func AppendAny (b []byte , v interface {}) []byte {
572573 switch v := v .(type ) {
573574 case SimpleString :
@@ -583,7 +584,11 @@ func AppendAny(b []byte, v interface{}) []byte {
583584 case string :
584585 b = AppendBulkString (b , v )
585586 case []byte :
586- b = AppendBulk (b , v )
587+ if v == nil {
588+ b = AppendNull (b )
589+ } else {
590+ b = AppendBulk (b , v )
591+ }
587592 case bool :
588593 if v {
589594 b = AppendBulkString (b , "1" )
0 commit comments