mirror of https://github.com/redis/redis.git
				
				
				
			
		
			
				
	
	
		
			23 lines
		
	
	
		
			593 B
		
	
	
	
		
			Tcl
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			593 B
		
	
	
	
		
			Tcl
		
	
	
	
# Build a symbol table for static symbols of redis.c
 | 
						|
# Useful to get stack traces on segfault without a debugger. See redis.c
 | 
						|
# for more information.
 | 
						|
#
 | 
						|
# Copyright(C) 2009 Salvatore Sanfilippo, under the BSD license.
 | 
						|
 | 
						|
set fd [open redis.c]
 | 
						|
set symlist {}
 | 
						|
while {[gets $fd line] != -1} {
 | 
						|
    if {[regexp {^static +[A-z0-9]+[ *]+([A-z0-9]*)\(} $line - sym]} {
 | 
						|
        lappend symlist $sym
 | 
						|
    }
 | 
						|
}
 | 
						|
set symlist [lsort -unique $symlist]
 | 
						|
puts "static struct redisFunctionSym symsTable\[\] = {"
 | 
						|
foreach sym $symlist {
 | 
						|
    puts "{\"$sym\",(unsigned long)$sym},"
 | 
						|
}
 | 
						|
puts "{NULL,0}"
 | 
						|
puts "};"
 | 
						|
 | 
						|
close $fd
 |