grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
Add optional printing of PCREv2 allocations to stderr for a developer who manually changes the GREP_PCRE2_DEBUG_MALLOC definition to "1". You need to manually change the definition in the source file similar to the DEBUG_MAILMAP, there's no Makefile knob for this. This will be referenced a subsequent commit, and is generally useful to manually see what's going on with PCREv2 allocations while working on that code. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									588e4fb191
								
							
						
					
					
						commit
						a39b4003f0
					
				
							
								
								
									
										10
									
								
								grep.c
								
								
								
								
							
							
						
						
									
										10
									
								
								grep.c
								
								
								
								
							| 
						 | 
				
			
			@ -42,15 +42,25 @@ static struct grep_opt grep_defaults = {
 | 
			
		|||
 | 
			
		||||
#ifdef USE_LIBPCRE2
 | 
			
		||||
static pcre2_general_context *pcre2_global_context;
 | 
			
		||||
#define GREP_PCRE2_DEBUG_MALLOC 0
 | 
			
		||||
 | 
			
		||||
static void *pcre2_malloc(PCRE2_SIZE size, MAYBE_UNUSED void *memory_data)
 | 
			
		||||
{
 | 
			
		||||
	void *pointer = malloc(size);
 | 
			
		||||
#if GREP_PCRE2_DEBUG_MALLOC
 | 
			
		||||
	static int count = 1;
 | 
			
		||||
	fprintf(stderr, "PCRE2:%p -> #%02d: alloc(%lu)\n", pointer, count++, size);
 | 
			
		||||
#endif
 | 
			
		||||
	return pointer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void pcre2_free(void *pointer, MAYBE_UNUSED void *memory_data)
 | 
			
		||||
{
 | 
			
		||||
#if GREP_PCRE2_DEBUG_MALLOC
 | 
			
		||||
	static int count = 1;
 | 
			
		||||
	if (pointer)
 | 
			
		||||
		fprintf(stderr, "PCRE2:%p -> #%02d: free()\n", pointer, count++);
 | 
			
		||||
#endif
 | 
			
		||||
	free(pointer);
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue