v2: string fixes, is_dir fix
							parent
							
								
									3d2fafa580
								
							
						
					
					
						commit
						f101e9b9e2
					
				|  | @ -550,7 +550,7 @@ pub fn (s string) index_old(p string) int { | |||
| 	mut i := 0 | ||||
| 	for i < s.len { | ||||
| 		mut j := 0 | ||||
| 		for j < p.len && s[i + j] == p[j] { | ||||
| 		for j < p.len && s.str[i + j] == p.str[j] { | ||||
| 			j++ | ||||
| 		} | ||||
| 		if j == p.len { | ||||
|  | @ -568,7 +568,7 @@ pub fn (s string) index(p string) ?int { | |||
| 	mut i := 0 | ||||
| 	for i < s.len { | ||||
| 		mut j := 0 | ||||
| 		for j < p.len && s[i + j] == p[j] { | ||||
| 		for j < p.len && s.str[i + j] == p.str[j] { | ||||
| 			j++ | ||||
| 		} | ||||
| 		if j == p.len { | ||||
|  | @ -587,20 +587,20 @@ fn (s string) index_kmp(p string) int { | |||
| 	mut prefix := [0].repeat(p.len) | ||||
| 	mut j := 0 | ||||
| 	for i := 1; i < p.len; i++ { | ||||
| 		for p[j] != p[i] && j > 0 { | ||||
| 		for p.str[j] != p.str[i] && j > 0 { | ||||
| 			j = prefix[j - 1] | ||||
| 		} | ||||
| 		if p[j] == p[i] { | ||||
| 		if p.str[j] == p.str[i] { | ||||
| 			j++ | ||||
| 		} | ||||
| 		prefix[i] = j | ||||
| 	} | ||||
| 	j = 0 | ||||
| 	for i in 0..s.len { | ||||
| 		for p[j] != s[i] && j > 0 { | ||||
| 		for p.str[j] != s.str[i] && j > 0 { | ||||
| 			j = prefix[j - 1] | ||||
| 		} | ||||
| 		if p[j] == s[i] { | ||||
| 		if p.str[j] == s.str[i] { | ||||
| 			j++ | ||||
| 		} | ||||
| 		if j == p.len { | ||||
|  | @ -627,7 +627,7 @@ pub fn (s string) last_index(p string) ?int { | |||
| 	mut i := s.len - p.len | ||||
| 	for i >= 0 { | ||||
| 		mut j := 0 | ||||
| 		for j < p.len && s[i + j] == p[j] { | ||||
| 		for j < p.len && s.str[i + j] == p.str[j] { | ||||
| 			j++ | ||||
| 		} | ||||
| 		if j == p.len { | ||||
|  | @ -653,7 +653,7 @@ pub fn (s string) index_after(p string, start int) int { | |||
| 	for i < s.len { | ||||
| 		mut j := 0 | ||||
| 		mut ii := i | ||||
| 		for j < p.len && s[ii] == p[j] { | ||||
| 		for j < p.len && s.str[ii] == p.str[j] { | ||||
| 			j++ | ||||
| 			ii++ | ||||
| 		} | ||||
|  | @ -667,7 +667,7 @@ pub fn (s string) index_after(p string, start int) int { | |||
| 
 | ||||
| pub fn (s string) index_byte(c byte) int { | ||||
| 	for i in 0..s.len { | ||||
| 		if s[i] == c { | ||||
| 		if s.str[i] == c { | ||||
| 			return i | ||||
| 		} | ||||
| 	} | ||||
|  | @ -676,7 +676,7 @@ pub fn (s string) index_byte(c byte) int { | |||
| 
 | ||||
| pub fn (s string) last_index_byte(c byte) int { | ||||
| 	for i := s.len - 1; i >= 0; i-- { | ||||
| 		if s[i] == c { | ||||
| 		if s.str[i] == c { | ||||
| 			return i | ||||
| 		} | ||||
| 	} | ||||
|  | @ -716,7 +716,7 @@ pub fn (s string) starts_with(p string) bool { | |||
| 		return false | ||||
| 	} | ||||
| 	for i in 0..p.len { | ||||
| 		if s[i] != p[i] { | ||||
| 		if s.str[i] != p.str[i] { | ||||
| 			return false | ||||
| 		} | ||||
| 	} | ||||
|  |  | |||
|  | @ -565,7 +565,7 @@ fn (p mut Parser) cast(typ string) { | |||
| 	p.expected_type = typ | ||||
| 	expr_typ := p.bool_expression() | ||||
| 	// Do not allow `int(my_int)`
 | ||||
| 	if expr_typ == typ && typ != 'u64' { | ||||
| 	if expr_typ == typ { | ||||
| 		p.warn('casting `$typ` to `$expr_typ` is not needed') | ||||
| 	} | ||||
| 	// `face := FT_Face(cobj)` => `FT_Face face = *((FT_Face*)cobj);`
 | ||||
|  |  | |||
|  | @ -546,7 +546,7 @@ pub fn (v &V) v_files_from_dir(dir string) []string { | |||
| 		verror("$dir doesn't exist") | ||||
| 	} | ||||
| 	else if !os.is_dir(dir) { | ||||
| 		verror("$dir isn't a directory") | ||||
| 		verror("$dir isn't a directory!") | ||||
| 	} | ||||
| 	mut files := os.ls(dir)or{ | ||||
| 		panic(err) | ||||
|  |  | |||
|  | @ -170,10 +170,15 @@ fn (v mut V) set_module_lookup_paths() { | |||
| 		v.module_lookup_paths << os.base_dir(v.compiled_dir) // pdir of _test.v
 | ||||
| 	} | ||||
| 	v.module_lookup_paths << v.compiled_dir | ||||
| 	x := os.join_path(v.compiled_dir, 'modules') | ||||
| 	if v.pref.verbosity.is_higher_or_equal(.level_two) { | ||||
| 		println('x: "$x"') | ||||
| 	} | ||||
| 	v.module_lookup_paths << os.join_path(v.compiled_dir, 'modules') | ||||
| 	v.module_lookup_paths << v.pref.lookup_path | ||||
| 	if v.pref.verbosity.is_higher_or_equal(.level_two) { | ||||
| 		v.log('v.module_lookup_paths: $v.module_lookup_paths') | ||||
| 		v.log('v.module_lookup_paths') //: $v.module_lookup_paths')
 | ||||
| 		println(v.module_lookup_paths) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -935,7 +935,8 @@ pub fn is_dir(path string) bool { | |||
| 			return false | ||||
| 		} | ||||
| 		// ref: https://code.woboq.org/gcc/include/sys/stat.h.html
 | ||||
| 		return int(statbuf.st_mode) & S_IFMT == S_IFDIR | ||||
| 		val:= int(statbuf.st_mode) & S_IFMT | ||||
| 		return val == S_IFDIR | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -132,7 +132,7 @@ pub fn (b &Builder) v_files_from_dir(dir string) []string { | |||
| 		verror("$dir doesn't exist") | ||||
| 	} | ||||
| 	else if !os.is_dir(dir) { | ||||
| 		verror("$dir isn't a directory") | ||||
| 		verror("$dir isn't a directory!") | ||||
| 	} | ||||
| 	mut files := os.ls(dir) or { | ||||
| 		panic(err) | ||||
|  | @ -206,7 +206,7 @@ fn module_path(mod string) string { | |||
| pub fn (b &Builder) find_module_path(mod string) ?string { | ||||
| 	mod_path := module_path(mod) | ||||
| 	for search_path in b.module_search_paths { | ||||
| 		try_path := os.join_path(search_path, mod_path) | ||||
| 		try_path := os.join_path(search_path,mod_path) | ||||
| 		if b.pref.verbosity.is_higher_or_equal(.level_three) { | ||||
| 			println('  >> trying to find $mod in $try_path ..') | ||||
| 		} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue