30 lines
		
	
	
		
			780 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			780 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #! /system/bin/sh
 | |
| 
 | |
| # This is primarily meant to be used by logpersist.  This script is run as an init service, which
 | |
| # first reads the 'last' logcat to persistent storage with `-L` then run logcat again without
 | |
| # `-L` to read the current logcat buffers to persistent storage.
 | |
| 
 | |
| # init sets the umask to 077 for forked processes. logpersist needs to create files that are group
 | |
| # readable. So relax the umask to only disallow group wx and world rwx.
 | |
| umask 037
 | |
| 
 | |
| has_last="false"
 | |
| for arg in "$@"; do
 | |
|   if [ "$arg" == "-L" -o "$arg" == "--last" ]; then
 | |
|     has_last="true"
 | |
|   fi
 | |
| done
 | |
| 
 | |
| if [ "$has_last" == "true" ]; then
 | |
|   logcat "$@"
 | |
| fi
 | |
| 
 | |
| args_without_last=()
 | |
| for arg in "$@"; do
 | |
|   if [ "$arg" != "-L" -a "$arg" != "--last" ]; then
 | |
|     ARGS+=("$arg")
 | |
|   fi
 | |
| done
 | |
| 
 | |
| exec logcat "${ARGS[@]}"
 |