Fix integer conversions
This commit is contained in:
		
							parent
							
								
									7038de95e1
								
							
						
					
					
						commit
						b4cef2524f
					
				| @ -380,11 +380,5 @@ func (tun *NativeTun) MTU() (int, error) { | ||||
| 		return 0, fmt.Errorf("failed to get MTU on %s", tun.name) | ||||
| 	} | ||||
| 
 | ||||
| 	// convert result to signed 32-bit int
 | ||||
| 
 | ||||
| 	val := binary.LittleEndian.Uint32(ifr[16:20]) | ||||
| 	if val >= (1 << 31) { | ||||
| 		return int(val-(1<<31)) - (1 << 31), nil | ||||
| 	} | ||||
| 	return int(val), nil | ||||
| 	return int(*(*int32)(unsafe.Pointer(&ifr[16]))), nil | ||||
| } | ||||
|  | ||||
| @ -515,11 +515,5 @@ func (tun *NativeTun) MTU() (int, error) { | ||||
| 		return 0, fmt.Errorf("failed to get MTU on %s", tun.name) | ||||
| 	} | ||||
| 
 | ||||
| 	// convert result to signed 32-bit int
 | ||||
| 	mtu := ifr.MTU | ||||
| 	if mtu >= (1 << 31) { | ||||
| 		return int(mtu-(1<<31)) - (1 << 31), nil | ||||
| 	} | ||||
| 	return int(mtu), nil | ||||
| 
 | ||||
| 	return int(*(*int32)(unsafe.Pointer(&ifr.MTU))), nil | ||||
| } | ||||
|  | ||||
| @ -263,13 +263,7 @@ func (tun *NativeTun) MTU() (int, error) { | ||||
| 		return 0, errors.New("failed to get MTU of TUN device: " + strconv.FormatInt(int64(errno), 10)) | ||||
| 	} | ||||
| 
 | ||||
| 	// convert result to signed 32-bit int
 | ||||
| 
 | ||||
| 	val := binary.LittleEndian.Uint32(ifr[16:20]) | ||||
| 	if val >= (1 << 31) { | ||||
| 		return int(toInt32(val)), nil | ||||
| 	} | ||||
| 	return int(val), nil | ||||
| 	return int(*(*int32)(unsafe.Pointer(&ifr[16]))), nil | ||||
| } | ||||
| 
 | ||||
| func (tun *NativeTun) Name() (string, error) { | ||||
|  | ||||
| @ -356,11 +356,5 @@ func (tun *NativeTun) MTU() (int, error) { | ||||
| 		return 0, fmt.Errorf("failed to get MTU on %s", tun.name) | ||||
| 	} | ||||
| 
 | ||||
| 	// convert result to signed 32-bit int
 | ||||
| 	mtu := ifr.MTU | ||||
| 	if mtu >= (1 << 31) { | ||||
| 		return int(mtu-(1<<31)) - (1 << 31), nil | ||||
| 	} | ||||
| 	return int(mtu), nil | ||||
| 
 | ||||
| 	return int(*(*int32)(unsafe.Pointer(&ifr.MTU))), nil | ||||
| } | ||||
|  | ||||
| @ -15,6 +15,7 @@ import ( | ||||
| 	"net" | ||||
| 	"os" | ||||
| 	"path" | ||||
| 	"unsafe" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
| @ -101,11 +102,13 @@ func UAPIListen(name string, file *os.File) (net.Listener, error) { | ||||
| 
 | ||||
| 	go func(l *UAPIListener) { | ||||
| 		event := unix.Kevent_t{ | ||||
| 			Ident:  uint64(uapi.keventFd), | ||||
| 			Filter: unix.EVFILT_VNODE, | ||||
| 			Flags:  unix.EV_ADD | unix.EV_ENABLE | unix.EV_ONESHOT, | ||||
| 			Fflags: unix.NOTE_WRITE, | ||||
| 		} | ||||
| 		// Allow this assignment to work with both the 32-bit and 64-bit version
 | ||||
| 		// of the above struct. If you know another way, please submit a patch.
 | ||||
| 		*(*uintptr)(unsafe.Pointer(&event.Ident)) = uintptr(uapi.keventFd) | ||||
| 		events := make([]unix.Kevent_t, 1) | ||||
| 		n := 1 | ||||
| 		var kerr error | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user