|  | @@ -3197,6 +3197,9 @@ tor_join_win_cmdline(const char *argv[])
 | 
	
		
			
				|  |  |   * buf, up to max_len digits, and returns the actual number of digits written.
 | 
	
		
			
				|  |  |   * If there is insufficient space, it will write nothing and return 0.
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  | + * This function DOES NOT add a terminating NUL character to its output: be
 | 
	
		
			
				|  |  | + * careful!
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  |   * This accepts an unsigned int because format_helper_exit_status() needs to
 | 
	
		
			
				|  |  |   * call it with a signed int and an unsigned char, and since the C standard
 | 
	
		
			
				|  |  |   * does not guarantee that an int is wider than a char (an int must be at
 | 
	
	
		
			
				|  | @@ -3204,8 +3207,11 @@ tor_join_win_cmdline(const char *argv[])
 | 
	
		
			
				|  |  |   * can't assume a signed int is sufficient to accomodate an unsigned char.
 | 
	
		
			
				|  |  |   * Thus, format_helper_exit_status() will still need to emit any require '-'
 | 
	
		
			
				|  |  |   * on its own.
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * For most purposes, you'd want to use tor_snprintf("%x") instead of this
 | 
	
		
			
				|  |  | + * function; it's designed to be used in code paths where you can't call
 | 
	
		
			
				|  |  | + * arbitrary C functions.
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  int
 | 
	
		
			
				|  |  |  format_hex_number_for_helper_exit_status(unsigned int x, char *buf,
 | 
	
		
			
				|  |  |                                           int max_len)
 | 
	
	
		
			
				|  | @@ -3226,8 +3232,9 @@ format_hex_number_for_helper_exit_status(unsigned int x, char *buf,
 | 
	
		
			
				|  |  |        tmp >>= 4;
 | 
	
		
			
				|  |  |        ++len;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +  } else {
 | 
	
		
			
				|  |  | +    len = 1;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  else len = 1;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    /* Bail if we would go past the end of the buffer */
 | 
	
		
			
				|  |  |    if (len > max_len)
 | 
	
	
		
			
				|  | @@ -3258,7 +3265,6 @@ format_hex_number_for_helper_exit_status(unsigned int x, char *buf,
 | 
	
		
			
				|  |  |   * CHILD_STATE_* macros for definition), and SAVED_ERRNO is the value of
 | 
	
		
			
				|  |  |   * errno when the failure occurred.
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  void
 | 
	
		
			
				|  |  |  format_helper_exit_status(unsigned char child_state, int saved_errno,
 | 
	
		
			
				|  |  |                            char *hex_errno)
 |