apply nibble patch removing per-item length limit
							parent
							
								
									29686bd1b8
								
							
						
					
					
						commit
						7ffe519816
					
				
							
								
								
									
										21
									
								
								dmenu.c
								
								
								
								
							
							
						
						
									
										21
									
								
								dmenu.c
								
								
								
								
							|  | @ -622,24 +622,31 @@ match(char *pattern) { | |||
| void | ||||
| readstdin(void) { | ||||
| 	char *p, buf[1024]; | ||||
| 	unsigned int len = 0, max = 0; | ||||
| 	unsigned int len = 0, blen = 0, max = 0; | ||||
| 	Item *i, *new; | ||||
| 
 | ||||
| 	i = NULL; | ||||
| 	i = 0, p = NULL; | ||||
| 	while(fgets(buf, sizeof buf, stdin)) { | ||||
| 		len = strlen(buf); | ||||
| 		if(buf[len-1] == '\n') | ||||
| 			buf[--len] = '\0'; | ||||
| 		if(!(p = strdup(buf))) | ||||
| 			eprint("fatal: could not strdup() %u bytes\n", len); | ||||
| 		len += (blen = strlen(buf)); | ||||
| 		if(!(p = realloc(p, len))) { | ||||
| 			eprint("fatal: could not realloc() %u bytes\n", len); | ||||
| 			return; | ||||
| 		} | ||||
| 		memcpy (p + len - blen, buf, blen); | ||||
| 		if (p[len - 1] == '\n') | ||||
| 			p[len - 1] = 0; | ||||
| 		else if (!feof(stdin)) | ||||
| 			continue; | ||||
| 		if(max < len) { | ||||
| 			maxname = p; | ||||
| 			max = len; | ||||
| 		} | ||||
| 		len = 0; | ||||
| 		if(!(new = (Item *)malloc(sizeof(Item)))) | ||||
| 			eprint("fatal: could not malloc() %u bytes\n", sizeof(Item)); | ||||
| 		new->next = new->left = new->right = NULL; | ||||
| 		new->text = p; | ||||
| 		p = NULL; | ||||
| 		if(!i) | ||||
| 			allitems = new; | ||||
| 		else  | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue