| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 5e5e951 commit 19052a1
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1 @@ | |||
| 1 | + Improve the implementation of ``winerror_to_errno()``. | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,80 +1,140 @@ | |||
| 1 | - /* Generated file. Do not edit. */ | ||
| 2 | - int winerror_to_errno(int winerror) | ||
| 1 | + int | ||
| 2 | + winerror_to_errno(int winerror) | ||
| 3 | 3 | { | |
| 4 | - switch(winerror) { | ||
| 5 | - case 2: return 2; | ||
| 6 | - case 3: return 2; | ||
| 7 | - case 4: return 24; | ||
| 8 | - case 5: return 13; | ||
| 9 | - case 6: return 9; | ||
| 10 | - case 7: return 12; | ||
| 11 | - case 8: return 12; | ||
| 12 | - case 9: return 12; | ||
| 13 | - case 10: return 7; | ||
| 14 | - case 11: return 8; | ||
| 15 | - case 15: return 2; | ||
| 16 | - case 16: return 13; | ||
| 17 | - case 17: return 18; | ||
| 18 | - case 18: return 2; | ||
| 19 | - case 19: return 13; | ||
| 20 | - case 20: return 13; | ||
| 21 | - case 21: return 13; | ||
| 22 | - case 22: return 13; | ||
| 23 | - case 23: return 13; | ||
| 24 | - case 24: return 13; | ||
| 25 | - case 25: return 13; | ||
| 26 | - case 26: return 13; | ||
| 27 | - case 27: return 13; | ||
| 28 | - case 28: return 13; | ||
| 29 | - case 29: return 13; | ||
| 30 | - case 30: return 13; | ||
| 31 | - case 31: return 13; | ||
| 32 | - case 32: return 13; | ||
| 33 | - case 33: return 13; | ||
| 34 | - case 34: return 13; | ||
| 35 | - case 35: return 13; | ||
| 36 | - case 36: return 13; | ||
| 37 | - case 53: return 2; | ||
| 38 | - case 65: return 13; | ||
| 39 | - case 67: return 2; | ||
| 40 | - case 80: return 17; | ||
| 41 | - case 82: return 13; | ||
| 42 | - case 83: return 13; | ||
| 43 | - case 89: return 11; | ||
| 44 | - case 108: return 13; | ||
| 45 | - case 109: return 32; | ||
| 46 | - case 112: return 28; | ||
| 47 | - case 114: return 9; | ||
| 48 | - case 128: return 10; | ||
| 49 | - case 129: return 10; | ||
| 50 | - case 130: return 9; | ||
| 51 | - case 132: return 13; | ||
| 52 | - case 145: return 41; | ||
| 53 | - case 158: return 13; | ||
| 54 | - case 161: return 2; | ||
| 55 | - case 164: return 11; | ||
| 56 | - case 167: return 13; | ||
| 57 | - case 183: return 17; | ||
| 58 | - case 188: return 8; | ||
| 59 | - case 189: return 8; | ||
| 60 | - case 190: return 8; | ||
| 61 | - case 191: return 8; | ||
| 62 | - case 192: return 8; | ||
| 63 | - case 193: return 8; | ||
| 64 | - case 194: return 8; | ||
| 65 | - case 195: return 8; | ||
| 66 | - case 196: return 8; | ||
| 67 | - case 197: return 8; | ||
| 68 | - case 198: return 8; | ||
| 69 | - case 199: return 8; | ||
| 70 | - case 200: return 8; | ||
| 71 | - case 201: return 8; | ||
| 72 | - case 202: return 8; | ||
| 73 | - case 206: return 2; | ||
| 74 | - case 215: return 11; | ||
| 75 | - case 232: return 32; | ||
| 76 | - case 267: return 20; | ||
| 77 | - case 1816: return 12; | ||
| 78 | - default: return EINVAL; | ||
| 4 | + // Unwrap FACILITY_WIN32 HRESULT errors. | ||
| 5 | + if ((winerror & 0xFFFF0000) == 0x80070000) { | ||
| 6 | + winerror &= 0x0000FFFF; | ||
| 7 | + } | ||
| 8 | + | ||
| 9 | + // Winsock error codes (10000-11999) are errno values. | ||
| 10 | + if (winerror >= 10000 && winerror < 12000) { | ||
| 11 | + switch (winerror) { | ||
| 12 | + case WSAEINTR: | ||
| 13 | + case WSAEBADF: | ||
| 14 | + case WSAEACCES: | ||
| 15 | + case WSAEFAULT: | ||
| 16 | + case WSAEINVAL: | ||
| 17 | + case WSAEMFILE: | ||
| 18 | + // Winsock definitions of errno values. See WinSock2.h | ||
| 19 | + return winerror - 10000; | ||
| 20 | + default: | ||
| 21 | + return winerror; | ||
| 22 | + } | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + switch (winerror) { | ||
| 26 | + case ERROR_FILE_NOT_FOUND: // 2 | ||
| 27 | + case ERROR_PATH_NOT_FOUND: // 3 | ||
| 28 | + case ERROR_INVALID_DRIVE: // 15 | ||
| 29 | + case ERROR_NO_MORE_FILES: // 18 | ||
| 30 | + case ERROR_BAD_NETPATH: // 53 | ||
| 31 | + case ERROR_BAD_NET_NAME: // 67 | ||
| 32 | + case ERROR_BAD_PATHNAME: // 161 | ||
| 33 | + case ERROR_FILENAME_EXCED_RANGE: // 206 | ||
| 34 | + return ENOENT; | ||
| 35 | + | ||
| 36 | + case ERROR_BAD_ENVIRONMENT: // 10 | ||
| 37 | + return E2BIG; | ||
| 38 | + | ||
| 39 | + case ERROR_BAD_FORMAT: // 11 | ||
| 40 | + case ERROR_INVALID_STARTING_CODESEG: // 188 | ||
| 41 | + case ERROR_INVALID_STACKSEG: // 189 | ||
| 42 | + case ERROR_INVALID_MODULETYPE: // 190 | ||
| 43 | + case ERROR_INVALID_EXE_SIGNATURE: // 191 | ||
| 44 | + case ERROR_EXE_MARKED_INVALID: // 192 | ||
| 45 | + case ERROR_BAD_EXE_FORMAT: // 193 | ||
| 46 | + case ERROR_ITERATED_DATA_EXCEEDS_64k: // 194 | ||
| 47 | + case ERROR_INVALID_MINALLOCSIZE: // 195 | ||
| 48 | + case ERROR_DYNLINK_FROM_INVALID_RING: // 196 | ||
| 49 | + case ERROR_IOPL_NOT_ENABLED: // 197 | ||
| 50 | + case ERROR_INVALID_SEGDPL: // 198 | ||
| 51 | + case ERROR_AUTODATASEG_EXCEEDS_64k: // 199 | ||
| 52 | + case ERROR_RING2SEG_MUST_BE_MOVABLE: // 200 | ||
| 53 | + case ERROR_RELOC_CHAIN_XEEDS_SEGLIM: // 201 | ||
| 54 | + case ERROR_INFLOOP_IN_RELOC_CHAIN: // 202 | ||
| 55 | + return ENOEXEC; | ||
| 56 | + | ||
| 57 | + case ERROR_INVALID_HANDLE: // 6 | ||
| 58 | + case ERROR_INVALID_TARGET_HANDLE: // 114 | ||
| 59 | + case ERROR_DIRECT_ACCESS_HANDLE: // 130 | ||
| 60 | + return EBADF; | ||
| 61 | + | ||
| 62 | + case ERROR_WAIT_NO_CHILDREN: // 128 | ||
| 63 | + case ERROR_CHILD_NOT_COMPLETE: // 129 | ||
| 64 | + return ECHILD; | ||
| 65 | + | ||
| 66 | + case ERROR_NO_PROC_SLOTS: // 89 | ||
| 67 | + case ERROR_MAX_THRDS_REACHED: // 164 | ||
| 68 | + case ERROR_NESTING_NOT_ALLOWED: // 215 | ||
| 69 | + return EAGAIN; | ||
| 70 | + | ||
| 71 | + case ERROR_ARENA_TRASHED: // 7 | ||
| 72 | + case ERROR_NOT_ENOUGH_MEMORY: // 8 | ||
| 73 | + case ERROR_INVALID_BLOCK: // 9 | ||
| 74 | + case ERROR_NOT_ENOUGH_QUOTA: // 1816 | ||
| 75 | + return ENOMEM; | ||
| 76 | + | ||
| 77 | + case ERROR_ACCESS_DENIED: // 5 | ||
| 78 | + case ERROR_CURRENT_DIRECTORY: // 16 | ||
| 79 | + case ERROR_WRITE_PROTECT: // 19 | ||
| 80 | + case ERROR_BAD_UNIT: // 20 | ||
| 81 | + case ERROR_NOT_READY: // 21 | ||
| 82 | + case ERROR_BAD_COMMAND: // 22 | ||
| 83 | + case ERROR_CRC: // 23 | ||
| 84 | + case ERROR_BAD_LENGTH: // 24 | ||
| 85 | + case ERROR_SEEK: // 25 | ||
| 86 | + case ERROR_NOT_DOS_DISK: // 26 | ||
| 87 | + case ERROR_SECTOR_NOT_FOUND: // 27 | ||
| 88 | + case ERROR_OUT_OF_PAPER: // 28 | ||
| 89 | + case ERROR_WRITE_FAULT: // 29 | ||
| 90 | + case ERROR_READ_FAULT: // 30 | ||
| 91 | + case ERROR_GEN_FAILURE: // 31 | ||
| 92 | + case ERROR_SHARING_VIOLATION: // 32 | ||
| 93 | + case ERROR_LOCK_VIOLATION: // 33 | ||
| 94 | + case ERROR_WRONG_DISK: // 34 | ||
| 95 | + case ERROR_SHARING_BUFFER_EXCEEDED: // 36 | ||
| 96 | + case ERROR_NETWORK_ACCESS_DENIED: // 65 | ||
| 97 | + case ERROR_CANNOT_MAKE: // 82 | ||
| 98 | + case ERROR_FAIL_I24: // 83 | ||
| 99 | + case ERROR_DRIVE_LOCKED: // 108 | ||
| 100 | + case ERROR_SEEK_ON_DEVICE: // 132 | ||
| 101 | + case ERROR_NOT_LOCKED: // 158 | ||
| 102 | + case ERROR_LOCK_FAILED: // 167 | ||
| 103 | + case 35: // 35 (undefined) | ||
| 104 | + return EACCES; | ||
| 105 | + | ||
| 106 | + case ERROR_FILE_EXISTS: // 80 | ||
| 107 | + case ERROR_ALREADY_EXISTS: // 183 | ||
| 108 | + return EEXIST; | ||
| 109 | + | ||
| 110 | + case ERROR_NOT_SAME_DEVICE: // 17 | ||
| 111 | + return EXDEV; | ||
| 112 | + | ||
| 113 | + case ERROR_DIRECTORY: // 267 (bpo-12802) | ||
| 114 | + return ENOTDIR; | ||
| 115 | + | ||
| 116 | + case ERROR_TOO_MANY_OPEN_FILES: // 4 | ||
| 117 | + return EMFILE; | ||
| 118 | + | ||
| 119 | + case ERROR_DISK_FULL: // 112 | ||
| 120 | + return ENOSPC; | ||
| 121 | + | ||
| 122 | + case ERROR_BROKEN_PIPE: // 109 | ||
| 123 | + case ERROR_NO_DATA: // 232 (bpo-13063) | ||
| 124 | + return EPIPE; | ||
| 125 | + | ||
| 126 | + case ERROR_DIR_NOT_EMPTY: // 145 | ||
| 127 | + return ENOTEMPTY; | ||
| 128 | + | ||
| 129 | + case ERROR_NO_UNICODE_TRANSLATION: // 1113 | ||
| 130 | + return EILSEQ; | ||
| 131 | + | ||
| 132 | + case ERROR_INVALID_FUNCTION: // 1 | ||
| 133 | + case ERROR_INVALID_ACCESS: // 12 | ||
| 134 | + case ERROR_INVALID_DATA: // 13 | ||
| 135 | + case ERROR_INVALID_PARAMETER: // 87 | ||
| 136 | + case ERROR_NEGATIVE_SEEK: // 131 | ||
| 137 | + default: | ||
| 138 | + return EINVAL; | ||
| 79 | 139 | } | |
| 80 | 140 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments