Revert "windows.errors: streamline error handling and throwing"
This reverts commit ca474dd154.
			
			
				fix-linux
			
			
		
							parent
							
								
									16c153411d
								
							
						
					
					
						commit
						0f7672c25e
					
				| 
						 | 
				
			
			@ -1,2 +1 @@
 | 
			
		|||
Doug Coleman
 | 
			
		||||
Alexander Ilin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -719,18 +719,23 @@ CONSTANT: FORMAT_MESSAGE_MAX_WIDTH_MASK   0x000000FF
 | 
			
		|||
 | 
			
		||||
ERROR: windows-error n string ;
 | 
			
		||||
 | 
			
		||||
: throw-windows-error ( n -- * )
 | 
			
		||||
    dup n>win32-error-string windows-error ;
 | 
			
		||||
: (win32-error) ( n -- )
 | 
			
		||||
    [ dup win32-error-string windows-error ] unless-zero ;
 | 
			
		||||
 | 
			
		||||
: n>win32-error-check ( n -- )
 | 
			
		||||
    [ throw-windows-error ] unless-zero ;
 | 
			
		||||
: win32-error ( -- )
 | 
			
		||||
    GetLastError (win32-error) ;
 | 
			
		||||
 | 
			
		||||
! Note that win32-error* words throw GetLastError code.
 | 
			
		||||
: win32-error ( -- ) GetLastError n>win32-error-check ;
 | 
			
		||||
: win32-error=0/f ( n -- ) { 0 f } member? [ win32-error ] when ;
 | 
			
		||||
: win32-error>0 ( n -- ) 0 > [ win32-error ] when ;
 | 
			
		||||
: win32-error<0 ( n -- ) 0 < [ win32-error ] when ;
 | 
			
		||||
: win32-error<>0 ( n -- ) [ win32-error ] unless-zero ;
 | 
			
		||||
: win32-error<>0 ( n -- ) zero? [ win32-error ] unless ;
 | 
			
		||||
 | 
			
		||||
: n>win32-error-check ( n -- )
 | 
			
		||||
    dup ERROR_SUCCESS = [
 | 
			
		||||
        drop
 | 
			
		||||
    ] [
 | 
			
		||||
        dup n>win32-error-string windows-error
 | 
			
		||||
    ] if ;
 | 
			
		||||
 | 
			
		||||
: check-invalid-handle ( handle -- handle )
 | 
			
		||||
    dup INVALID_HANDLE_VALUE = [ win32-error ] when ;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue