From 0177751ff5782dd96e9a634202a2ced219fac41b Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Thu, 19 May 2011 23:04:54 +0200 Subject: [PATCH] Add uv-common.c, move uv_err_name() there --- config-mingw.mk | 7 +++-- config-unix.mk | 7 +++-- msvs/libuv.vcxproj | 3 ++ uv-common.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++ uv-unix.c | 44 ------------------------------ uv.h | 2 +- 6 files changed, 82 insertions(+), 49 deletions(-) create mode 100644 uv-common.c diff --git a/config-mingw.mk b/config-mingw.mk index 054e1ce2..7cd59d0f 100644 --- a/config-mingw.mk +++ b/config-mingw.mk @@ -32,11 +32,14 @@ RUNNER_LINKFLAGS=$(LINKFLAGS) RUNNER_LIBS=-lws2_32 RUNNER_SRC=test/runner-win.c -uv.a: uv-win.o - $(AR) rcs uv.a uv-win.o +uv.a: uv-win.o uv-common.o + $(AR) rcs uv.a uv-win.o uv-common.o uv-win.o: uv-win.c uv.h uv-win.h $(CC) $(CFLAGS) -c uv-win.c -o uv-win.o +uv-common.o: uv-common.c uv.h uv-win.h + $(CC) $(CFLAGS) -c uv-common.c -o uv-common.o + distclean-platform: clean-platform: diff --git a/config-unix.mk b/config-unix.mk index 500b1890..af8c7d81 100644 --- a/config-unix.mk +++ b/config-unix.mk @@ -35,12 +35,15 @@ RUNNER_LINKFLAGS=$(LINKFLAGS) -pthread RUNNER_LIBS= RUNNER_SRC=test/runner-unix.c -uv.a: uv-unix.o ev/ev.o - $(AR) rcs uv.a uv-unix.o ev/ev.o +uv.a: uv-unix.o uv-common.o ev/ev.o + $(AR) rcs uv.a uv-unix.o uv-common.o ev/ev.o uv-unix.o: uv-unix.c uv.h uv-unix.h $(CC) $(CFLAGS) -c uv-unix.c -o uv-unix.o +uv-common.o: uv-common.c uv.h uv-unix.h + $(CC) $(CFLAGS) -c uv-common.c -o uv-common.o + ev/ev.o: ev/config.h ev/ev.c $(MAKE) -C ev diff --git a/msvs/libuv.vcxproj b/msvs/libuv.vcxproj index 3c7f2e1a..7b11f49e 100644 --- a/msvs/libuv.vcxproj +++ b/msvs/libuv.vcxproj @@ -119,9 +119,12 @@ true + + + diff --git a/uv-common.c b/uv-common.c new file mode 100644 index 00000000..1b454f33 --- /dev/null +++ b/uv-common.c @@ -0,0 +1,68 @@ +/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include "uv.h" + +#include + + +const char* uv_err_name(uv_err_t err) { + switch (err.code) { + case UV_UNKNOWN: return "UNKNOWN"; + case UV_OK: return "OK"; + case UV_EOF: return "EOF"; + case UV_EACCESS: return "EACCESS"; + case UV_EAGAIN: return "EAGAIN"; + case UV_EADDRINUSE: return "EADDRINUSE"; + case UV_EADDRNOTAVAIL: return "EADDRNOTAVAIL"; + case UV_EAFNOSUPPORT: return "EAFNOSUPPORT"; + case UV_EALREADY: return "EALREADY"; + case UV_EBADF: return "EBADF"; + case UV_EBUSY: return "EBUSY"; + case UV_ECONNABORTED: return "ECONNABORTED"; + case UV_ECONNREFUSED: return "ECONNREFUSED"; + case UV_ECONNRESET: return "ECONNRESET"; + case UV_EDESTADDRREQ: return "EDESTADDRREQ"; + case UV_EFAULT: return "EFAULT"; + case UV_EHOSTUNREACH: return "EHOSTUNREACH"; + case UV_EINTR: return "EINTR"; + case UV_EINVAL: return "EINVAL"; + case UV_EISCONN: return "EISCONN"; + case UV_EMFILE: return "EMFILE"; + case UV_ENETDOWN: return "ENETDOWN"; + case UV_ENETUNREACH: return "ENETUNREACH"; + case UV_ENFILE: return "ENFILE"; + case UV_ENOBUFS: return "ENOBUFS"; + case UV_ENOMEM: return "ENOMEM"; + case UV_ENONET: return "ENONET"; + case UV_ENOPROTOOPT: return "ENOPROTOOPT"; + case UV_ENOTCONN: return "ENOTCONN"; + case UV_ENOTSOCK: return "ENOTSOCK"; + case UV_ENOTSUP: return "ENOTSUP"; + case UV_EPROTO: return "EPROTO"; + case UV_EPROTONOSUPPORT: return "EPROTONOSUPPORT"; + case UV_EPROTOTYPE: return "EPROTOTYPE"; + case UV_ETIMEDOUT: return "ETIMEDOUT"; + default: + assert(0); + return NULL; + } +} diff --git a/uv-unix.c b/uv-unix.c index d3c3be20..0e978277 100644 --- a/uv-unix.c +++ b/uv-unix.c @@ -44,50 +44,6 @@ int uv_tcp_open(uv_handle_t*, int fd); static void uv__finish_close(uv_handle_t* handle); -const char* uv_err_tostr(uv_err_code code) { - switch (code) { - case UV_UNKNOWN: return "UNKNOWN"; - case UV_OK: return "OK"; - case UV_EOF: return "EOF"; - case UV_EACCESS: return "EACCESS"; - case UV_EAGAIN: return "EAGAIN"; - case UV_EADDRINUSE: return "EADDRINUSE"; - case UV_EADDRNOTAVAIL: return "EADDRNOTAVAIL"; - case UV_EAFNOSUPPORT: return "EAFNOSUPPORT"; - case UV_EALREADY: return "EALREADY"; - case UV_EBADF: return "EBADF"; - case UV_EBUSY: return "EBUSY"; - case UV_ECONNABORTED: return "ECONNABORTED"; - case UV_ECONNREFUSED: return "ECONNREFUSED"; - case UV_ECONNRESET: return "ECONNRESET"; - case UV_EDESTADDRREQ: return "EDESTADDRREQ"; - case UV_EFAULT: return "EFAULT"; - case UV_EHOSTUNREACH: return "EHOSTUNREACH"; - case UV_EINTR: return "EINTR"; - case UV_EINVAL: return "EINVAL"; - case UV_EISCONN: return "EISCONN"; - case UV_EMFILE: return "EMFILE"; - case UV_ENETDOWN: return "ENETDOWN"; - case UV_ENETUNREACH: return "ENETUNREACH"; - case UV_ENFILE: return "ENFILE"; - case UV_ENOBUFS: return "ENOBUFS"; - case UV_ENOMEM: return "ENOMEM"; - case UV_ENONET: return "ENONET"; - case UV_ENOPROTOOPT: return "ENOPROTOOPT"; - case UV_ENOTCONN: return "ENOTCONN"; - case UV_ENOTSOCK: return "ENOTSOCK"; - case UV_ENOTSUP: return "ENOTSUP"; - case UV_EPROTO: return "EPROTO"; - case UV_EPROTONOSUPPORT: return "EPROTONOSUPPORT"; - case UV_EPROTOTYPE: return "EPROTOTYPE"; - case UV_ETIMEDOUT: return "ETIMEDOUT"; - default: - assert(0); - return NULL; - } -} - - /* flags */ enum { UV_CLOSING = 0x00000001, /* uv_close() called but not finished. */ diff --git a/uv.h b/uv.h index cf425b4b..0b4984bf 100644 --- a/uv.h +++ b/uv.h @@ -165,7 +165,7 @@ struct uv_handle_s { */ uv_err_t uv_last_error(); char* uv_strerror(uv_err_t err); -const char* uv_err_tostr(uv_err_code code); +const char* uv_err_name(uv_err_t err); void uv_init(uv_alloc_cb alloc); int uv_run();