compiler: use *char() cast in C functions to afix warnings

pull/1947/head
Alexander Medvednikov 2019-09-15 15:12:11 +03:00
parent 897db23203
commit 3e923871cf
3 changed files with 8 additions and 7 deletions

View File

@ -210,6 +210,7 @@ fn new_table(obfuscate bool) &Table {
t.register_type('size_t')
t.register_type_with_parent('i8', 'int')
t.register_type_with_parent('byte', 'int')
t.register_type_with_parent('char', 'int') // for C functinos only, to avoid warnings
t.register_type_with_parent('i16', 'int')
t.register_type_with_parent('u16', 'u32')
t.register_type_with_parent('u32', 'int')

View File

@ -276,7 +276,7 @@ pub fn (b []byte) hex() string {
mut hex := malloc(b.len*2+1)
mut ptr := &hex[0]
for i := 0; i < b.len ; i++ {
ptr += C.sprintf(ptr, '%02x', b[i])
ptr += C.sprintf(*char(ptr), '%02x', b[i])
}
return string(hex)
}

View File

@ -128,28 +128,28 @@ pub fn (s string) replace(rep, with string) string {
}
pub fn (s string) int() int {
return C.atoi(s.str)
return C.atoi(*char(s.str))
}
pub fn (s string) i64() i64 {
return C.atoll(s.str)
return C.atoll(*char(s.str))
}
pub fn (s string) f32() f32 {
return C.atof(s.str)
return C.atof(*char(s.str))
}
pub fn (s string) f64() f64 {
return C.atof(s.str)
return C.atof(*char(s.str))
}
pub fn (s string) u32() u32 {
return C.strtoul(s.str, 0, 0)
return C.strtoul(*char(s.str), 0, 0)
}
pub fn (s string) u64() u64 {
return C.strtoull(s.str, 0, 0)
return C.strtoull(*char(s.str), 0, 0)
//return C.atoll(s.str) // temporary fix for tcc on windows.
}