mirror of https://github.com/redis/redis.git
				
				
				
			linenoise updated
This commit is contained in:
		
							parent
							
								
									4a67d194e9
								
							
						
					
					
						commit
						802fd01b7c
					
				| 
						 | 
					@ -320,10 +320,9 @@ static int linenoisePrompt(int fd, char *buf, size_t buflen, const char *prompt)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        switch(c) {
 | 
					        switch(c) {
 | 
				
			||||||
        case 13:    /* enter */
 | 
					        case 13:    /* enter */
 | 
				
			||||||
        case 4:     /* ctrl-d */
 | 
					 | 
				
			||||||
            history_len--;
 | 
					            history_len--;
 | 
				
			||||||
            free(history[history_len]);
 | 
					            free(history[history_len]);
 | 
				
			||||||
            return (len == 0 && c == 4) ? -1 : (int)len;
 | 
					            return (int)len;
 | 
				
			||||||
        case 3:     /* ctrl-c */
 | 
					        case 3:     /* ctrl-c */
 | 
				
			||||||
            errno = EAGAIN;
 | 
					            errno = EAGAIN;
 | 
				
			||||||
            return -1;
 | 
					            return -1;
 | 
				
			||||||
| 
						 | 
					@ -337,6 +336,18 @@ static int linenoisePrompt(int fd, char *buf, size_t buflen, const char *prompt)
 | 
				
			||||||
                refreshLine(fd,prompt,buf,len,pos,cols);
 | 
					                refreshLine(fd,prompt,buf,len,pos,cols);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
 | 
					        case 4:     /* ctrl-d, remove char at right of cursor */
 | 
				
			||||||
 | 
					            if (len > 1 && pos < (len-1)) {
 | 
				
			||||||
 | 
					                memmove(buf+pos,buf+pos+1,len-pos);
 | 
				
			||||||
 | 
					                len--;
 | 
				
			||||||
 | 
					                buf[len] = '\0';
 | 
				
			||||||
 | 
					                refreshLine(fd,prompt,buf,len,pos,cols);
 | 
				
			||||||
 | 
					            } else if (len == 0) {
 | 
				
			||||||
 | 
					                history_len--;
 | 
				
			||||||
 | 
					                free(history[history_len]);
 | 
				
			||||||
 | 
					                return -1;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
        case 20:    /* ctrl-t */
 | 
					        case 20:    /* ctrl-t */
 | 
				
			||||||
            if (pos > 0 && pos < len) {
 | 
					            if (pos > 0 && pos < len) {
 | 
				
			||||||
                int aux = buf[pos-1];
 | 
					                int aux = buf[pos-1];
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue