anchor.diff:  
   		if(copytext(path,-1,0) != "/")		//didn't choose a directory, no need to iterate again
   			break
  -	var/extensions
  -	for(var/i in valid_extensions)
  -		if(extensions)
  -			extensions += "|"
  -		extensions += valid_extensions[i]
  -	var/regex/valid_ext = new("\\.([extensions])$", "i")
  -	if( !fexists(path) || !(valid_ext.Find(path)) )
  +
  +	var/extension = copytext(path,-4,0)
  +	if( !fexists(path) || !(extension in valid_extensions) )
   		to_chat(src, "<font color='red'>Error: browse_files(): File not found/Invalid file([path]).</font>")
   		return
   
  
positive.code: 	return filenames
  
  /proc/pathflatten(path)
  	return replacetext(path, "/", "_")
negative.code: 	for(var/file in args)
  		src << browse_rsc(file)
  
  /client/proc/browse_files(root="data/logs/", max_iterations=10, list/valid_extensions=list(".txt",".log",".htm", ".html"))
  	var/path = root
  
  	for(var/i=0, i<max_iterations, i++)
  