apply nibble patch removing per-item length limit
This commit is contained in:
		
							
								
								
									
										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 
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user