makedoc: Don't interpret license text as a command
Align makedoc's iscommand() with it's documentation, and don't allow commands to contain a space. A command is a line containing only a sequence of capital letters or '_', followed by optional spaces. This prevents "IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE" (the only line in the license text which consists of only capitals and spaces, without any punctuation) from being interepreted as a makedoc command, leading to: "Can't find IMPLIED" "warning, IMPLIED is not recognised" being emitted by makedoc, (which is normally un-noticed because makedoc's stderr is redirected to a .ref file) 2015-11-06 Jon Turney <jon.turney@dronecode.org.uk> * doc/makedoc.c (iscommand): Only allow commands to have trailing spaces, not space separated words. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
This commit is contained in:
		
							parent
							
								
									81a7c8c37f
								
							
						
					
					
						commit
						1129ef019f
					
				| 
						 | 
				
			
			@ -1,3 +1,8 @@
 | 
			
		|||
2015-11-06  Jon Turney  <jon.turney@dronecode.org.uk>
 | 
			
		||||
 | 
			
		||||
	* doc/makedoc.c (iscommand): Only allow commands to have trailing
 | 
			
		||||
	spaces, not space separated words.
 | 
			
		||||
 | 
			
		||||
2015-11-06  Jon Turney  <jon.turney@dronecode.org.uk>
 | 
			
		||||
 | 
			
		||||
	* libm/mathfp/s_acos.c: Fix QUICKREF.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -777,14 +777,18 @@ DEFUN( iscommand,(ptr, idx),
 | 
			
		|||
      unsigned int idx)
 | 
			
		||||
{
 | 
			
		||||
    unsigned int len = 0;
 | 
			
		||||
    while (at(ptr,idx)) {
 | 
			
		||||
	    if (isupper(at(ptr,idx)) || at(ptr,idx) == ' ' ||
 | 
			
		||||
		at(ptr,idx) == '_') 
 | 
			
		||||
	    {
 | 
			
		||||
 | 
			
		||||
    while (isupper(at(ptr,idx)) || at(ptr,idx) == '_') {
 | 
			
		||||
	     len++;
 | 
			
		||||
	     idx++;
 | 
			
		||||
	 }
 | 
			
		||||
	    else if(at(ptr,idx) == '\n')
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    while (at(ptr,idx) == ' ') {
 | 
			
		||||
	     len++;
 | 
			
		||||
	     idx++;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(at(ptr,idx) == '\n')
 | 
			
		||||
	    {
 | 
			
		||||
		/* The length check will never fail on a real command
 | 
			
		||||
		 * because the commands are screened as the definitions file
 | 
			
		||||
| 
						 | 
				
			
			@ -792,8 +796,7 @@ DEFUN( iscommand,(ptr, idx),
 | 
			
		|||
		if (len >= MIN_CMDLEN) return 1;
 | 
			
		||||
		return 0;
 | 
			
		||||
	    }
 | 
			
		||||
	    else return 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue