* dirOf: return a path if the argument is a path.
This commit is contained in:
		
							parent
							
								
									cf705eaf78
								
							
						
					
					
						commit
						cba913c521
					
				
					 1 changed files with 6 additions and 2 deletions
				
			
		|  | @ -316,11 +316,15 @@ static Expr primBaseNameOf(EvalState & state, const ATermVector & args) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /* Return the directory of the given path, i.e., everything before the
 | /* Return the directory of the given path, i.e., everything before the
 | ||||||
|    last slash. */ |    last slash.  Return either a path or a string depending on the type | ||||||
|  |    of the argument. */ | ||||||
| static Expr primDirOf(EvalState & state, const ATermVector & args) | static Expr primDirOf(EvalState & state, const ATermVector & args) | ||||||
| { | { | ||||||
|     PathSet context; |     PathSet context; | ||||||
|     return makeStr(dirOf(coerceToPath(state, args[0], context)), context); |     Expr e = evalExpr(state, args[0]); ATerm dummy; | ||||||
|  |     bool isPath = matchPath(e, dummy); | ||||||
|  |     Path dir = dirOf(coerceToPath(state, e, context)); | ||||||
|  |     return isPath ? makePath(toATerm(dir)) : makeStr(dir, context); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue