mirror of https://github.com/redis/redis.git
				
				
				
			second attempt at vector formtting
This commit is contained in:
		
							parent
							
								
									7f5e1340f9
								
							
						
					
					
						commit
						8fc67080a2
					
				
							
								
								
									
										13
									
								
								src/module.c
								
								
								
								
							
							
						
						
									
										13
									
								
								src/module.c
								
								
								
								
							| 
						 | 
					@ -2044,7 +2044,18 @@ robj **moduleCreateArgvFromUserFormat(const char *cmdname, const char *fmt, int
 | 
				
			||||||
            long ll = va_arg(ap,long long);
 | 
					            long ll = va_arg(ap,long long);
 | 
				
			||||||
            argv[argc++] = createStringObjectFromLongLong(ll);
 | 
					            argv[argc++] = createStringObjectFromLongLong(ll);
 | 
				
			||||||
        } else if (*p == 'v') {
 | 
					        } else if (*p == 'v') {
 | 
				
			||||||
            /* TODO: work in progress. */
 | 
					            /* a vector of strings */
 | 
				
			||||||
 | 
					             robj **v = va_arg(ap, void*);
 | 
				
			||||||
 | 
					             size_t vlen = va_arg(ap, size_t);
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					             /* We need to grow argv by N-1 elements */
 | 
				
			||||||
 | 
					             argv_size += vlen-1; 
 | 
				
			||||||
 | 
					             argv = zrealloc(argv,sizeof(robj*)*argv_size);
 | 
				
			||||||
 | 
					             size_t i = 0;               
 | 
				
			||||||
 | 
					             for (i = 0; i < vlen; i++) {
 | 
				
			||||||
 | 
					                 incrRefCount(v[i]);
 | 
				
			||||||
 | 
					                 argv[argc++] = v[i];
 | 
				
			||||||
 | 
					             }
 | 
				
			||||||
        } else if (*p == '!') {
 | 
					        } else if (*p == '!') {
 | 
				
			||||||
            if (flags) (*flags) |= REDISMODULE_ARGV_REPLICATE;
 | 
					            if (flags) (*flags) |= REDISMODULE_ARGV_REPLICATE;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue