Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 57a0cd4

Browse filesBrowse files
joyeecheungaddaleax
authored andcommitted
src: move node::errno_string into node_errors.h/cc
Move `node::errno_string` into node_errors.h/cc and move it into the `node:errors` namespace to reduce the size of the header. It's not on any performance-critical code path so does not need to be inlined. PR-URL: #25396 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
1 parent 71432c3 commit 57a0cd4
Copy full SHA for 57a0cd4

File tree

Expand file treeCollapse file tree

5 files changed

+339
-332
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

5 files changed

+339
-332
lines changed
Open diff view settings
Collapse file

‎src/env.cc‎

Copy file name to clipboardExpand all lines: src/env.cc
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -819,7 +819,7 @@ void Environment::CollectExceptionInfo(Local<Value> object,
819819
return;
820820

821821
Local<Object> obj = object.As<Object>();
822-
const char* err_string = node::errno_string(errorno);
822+
const char* err_string = errors::errno_string(errorno);
823823

824824
if (message == nullptr || message[0] == '\0') {
825825
message = strerror(errorno);
Collapse file

‎src/exceptions.cc‎

Copy file name to clipboardExpand all lines: src/exceptions.cc
+6-4Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
#include "node.h"
2-
#include "node_internals.h"
1+
// This file contains implementation of error APIs exposed in node.h
2+
33
#include "env-inl.h"
4+
#include "node.h"
5+
#include "node_errors.h"
46
#include "util-inl.h"
5-
#include "v8.h"
67
#include "uv.h"
8+
#include "v8.h"
79

810
#include <string.h>
911

@@ -27,7 +29,7 @@ Local<Value> ErrnoException(Isolate* isolate,
2729
Environment* env = Environment::GetCurrent(isolate);
2830

2931
Local<Value> e;
30-
Local<String> estring = OneByteString(isolate, errno_string(errorno));
32+
Local<String> estring = OneByteString(isolate, errors::errno_string(errorno));
3133
if (msg == nullptr || msg[0] == '\0') {
3234
msg = strerror(errorno);
3335
}
Collapse file

‎src/node_errors.cc‎

Copy file name to clipboardExpand all lines: src/node_errors.cc
+330Lines changed: 330 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
#include <errno.h>
12
#include <stdarg.h>
3+
24
#include "node_errors.h"
35
#include "node_internals.h"
46

@@ -322,6 +324,334 @@ TryCatchScope::~TryCatchScope() {
322324
}
323325
}
324326

327+
const char* errno_string(int errorno) {
328+
#define ERRNO_CASE(e) \
329+
case e: \
330+
return #e;
331+
switch (errorno) {
332+
#ifdef EACCES
333+
ERRNO_CASE(EACCES);
334+
#endif
335+
336+
#ifdef EADDRINUSE
337+
ERRNO_CASE(EADDRINUSE);
338+
#endif
339+
340+
#ifdef EADDRNOTAVAIL
341+
ERRNO_CASE(EADDRNOTAVAIL);
342+
#endif
343+
344+
#ifdef EAFNOSUPPORT
345+
ERRNO_CASE(EAFNOSUPPORT);
346+
#endif
347+
348+
#ifdef EAGAIN
349+
ERRNO_CASE(EAGAIN);
350+
#endif
351+
352+
#ifdef EWOULDBLOCK
353+
#if EAGAIN != EWOULDBLOCK
354+
ERRNO_CASE(EWOULDBLOCK);
355+
#endif
356+
#endif
357+
358+
#ifdef EALREADY
359+
ERRNO_CASE(EALREADY);
360+
#endif
361+
362+
#ifdef EBADF
363+
ERRNO_CASE(EBADF);
364+
#endif
365+
366+
#ifdef EBADMSG
367+
ERRNO_CASE(EBADMSG);
368+
#endif
369+
370+
#ifdef EBUSY
371+
ERRNO_CASE(EBUSY);
372+
#endif
373+
374+
#ifdef ECANCELED
375+
ERRNO_CASE(ECANCELED);
376+
#endif
377+
378+
#ifdef ECHILD
379+
ERRNO_CASE(ECHILD);
380+
#endif
381+
382+
#ifdef ECONNABORTED
383+
ERRNO_CASE(ECONNABORTED);
384+
#endif
385+
386+
#ifdef ECONNREFUSED
387+
ERRNO_CASE(ECONNREFUSED);
388+
#endif
389+
390+
#ifdef ECONNRESET
391+
ERRNO_CASE(ECONNRESET);
392+
#endif
393+
394+
#ifdef EDEADLK
395+
ERRNO_CASE(EDEADLK);
396+
#endif
397+
398+
#ifdef EDESTADDRREQ
399+
ERRNO_CASE(EDESTADDRREQ);
400+
#endif
401+
402+
#ifdef EDOM
403+
ERRNO_CASE(EDOM);
404+
#endif
405+
406+
#ifdef EDQUOT
407+
ERRNO_CASE(EDQUOT);
408+
#endif
409+
410+
#ifdef EEXIST
411+
ERRNO_CASE(EEXIST);
412+
#endif
413+
414+
#ifdef EFAULT
415+
ERRNO_CASE(EFAULT);
416+
#endif
417+
418+
#ifdef EFBIG
419+
ERRNO_CASE(EFBIG);
420+
#endif
421+
422+
#ifdef EHOSTUNREACH
423+
ERRNO_CASE(EHOSTUNREACH);
424+
#endif
425+
426+
#ifdef EIDRM
427+
ERRNO_CASE(EIDRM);
428+
#endif
429+
430+
#ifdef EILSEQ
431+
ERRNO_CASE(EILSEQ);
432+
#endif
433+
434+
#ifdef EINPROGRESS
435+
ERRNO_CASE(EINPROGRESS);
436+
#endif
437+
438+
#ifdef EINTR
439+
ERRNO_CASE(EINTR);
440+
#endif
441+
442+
#ifdef EINVAL
443+
ERRNO_CASE(EINVAL);
444+
#endif
445+
446+
#ifdef EIO
447+
ERRNO_CASE(EIO);
448+
#endif
449+
450+
#ifdef EISCONN
451+
ERRNO_CASE(EISCONN);
452+
#endif
453+
454+
#ifdef EISDIR
455+
ERRNO_CASE(EISDIR);
456+
#endif
457+
458+
#ifdef ELOOP
459+
ERRNO_CASE(ELOOP);
460+
#endif
461+
462+
#ifdef EMFILE
463+
ERRNO_CASE(EMFILE);
464+
#endif
465+
466+
#ifdef EMLINK
467+
ERRNO_CASE(EMLINK);
468+
#endif
469+
470+
#ifdef EMSGSIZE
471+
ERRNO_CASE(EMSGSIZE);
472+
#endif
473+
474+
#ifdef EMULTIHOP
475+
ERRNO_CASE(EMULTIHOP);
476+
#endif
477+
478+
#ifdef ENAMETOOLONG
479+
ERRNO_CASE(ENAMETOOLONG);
480+
#endif
481+
482+
#ifdef ENETDOWN
483+
ERRNO_CASE(ENETDOWN);
484+
#endif
485+
486+
#ifdef ENETRESET
487+
ERRNO_CASE(ENETRESET);
488+
#endif
489+
490+
#ifdef ENETUNREACH
491+
ERRNO_CASE(ENETUNREACH);
492+
#endif
493+
494+
#ifdef ENFILE
495+
ERRNO_CASE(ENFILE);
496+
#endif
497+
498+
#ifdef ENOBUFS
499+
ERRNO_CASE(ENOBUFS);
500+
#endif
501+
502+
#ifdef ENODATA
503+
ERRNO_CASE(ENODATA);
504+
#endif
505+
506+
#ifdef ENODEV
507+
ERRNO_CASE(ENODEV);
508+
#endif
509+
510+
#ifdef ENOENT
511+
ERRNO_CASE(ENOENT);
512+
#endif
513+
514+
#ifdef ENOEXEC
515+
ERRNO_CASE(ENOEXEC);
516+
#endif
517+
518+
#ifdef ENOLINK
519+
ERRNO_CASE(ENOLINK);
520+
#endif
521+
522+
#ifdef ENOLCK
523+
#if ENOLINK != ENOLCK
524+
ERRNO_CASE(ENOLCK);
525+
#endif
526+
#endif
527+
528+
#ifdef ENOMEM
529+
ERRNO_CASE(ENOMEM);
530+
#endif
531+
532+
#ifdef ENOMSG
533+
ERRNO_CASE(ENOMSG);
534+
#endif
535+
536+
#ifdef ENOPROTOOPT
537+
ERRNO_CASE(ENOPROTOOPT);
538+
#endif
539+
540+
#ifdef ENOSPC
541+
ERRNO_CASE(ENOSPC);
542+
#endif
543+
544+
#ifdef ENOSR
545+
ERRNO_CASE(ENOSR);
546+
#endif
547+
548+
#ifdef ENOSTR
549+
ERRNO_CASE(ENOSTR);
550+
#endif
551+
552+
#ifdef ENOSYS
553+
ERRNO_CASE(ENOSYS);
554+
#endif
555+
556+
#ifdef ENOTCONN
557+
ERRNO_CASE(ENOTCONN);
558+
#endif
559+
560+
#ifdef ENOTDIR
561+
ERRNO_CASE(ENOTDIR);
562+
#endif
563+
564+
#ifdef ENOTEMPTY
565+
#if ENOTEMPTY != EEXIST
566+
ERRNO_CASE(ENOTEMPTY);
567+
#endif
568+
#endif
569+
570+
#ifdef ENOTSOCK
571+
ERRNO_CASE(ENOTSOCK);
572+
#endif
573+
574+
#ifdef ENOTSUP
575+
ERRNO_CASE(ENOTSUP);
576+
#else
577+
#ifdef EOPNOTSUPP
578+
ERRNO_CASE(EOPNOTSUPP);
579+
#endif
580+
#endif
581+
582+
#ifdef ENOTTY
583+
ERRNO_CASE(ENOTTY);
584+
#endif
585+
586+
#ifdef ENXIO
587+
ERRNO_CASE(ENXIO);
588+
#endif
589+
590+
#ifdef EOVERFLOW
591+
ERRNO_CASE(EOVERFLOW);
592+
#endif
593+
594+
#ifdef EPERM
595+
ERRNO_CASE(EPERM);
596+
#endif
597+
598+
#ifdef EPIPE
599+
ERRNO_CASE(EPIPE);
600+
#endif
601+
602+
#ifdef EPROTO
603+
ERRNO_CASE(EPROTO);
604+
#endif
605+
606+
#ifdef EPROTONOSUPPORT
607+
ERRNO_CASE(EPROTONOSUPPORT);
608+
#endif
609+
610+
#ifdef EPROTOTYPE
611+
ERRNO_CASE(EPROTOTYPE);
612+
#endif
613+
614+
#ifdef ERANGE
615+
ERRNO_CASE(ERANGE);
616+
#endif
617+
618+
#ifdef EROFS
619+
ERRNO_CASE(EROFS);
620+
#endif
621+
622+
#ifdef ESPIPE
623+
ERRNO_CASE(ESPIPE);
624+
#endif
625+
626+
#ifdef ESRCH
627+
ERRNO_CASE(ESRCH);
628+
#endif
629+
630+
#ifdef ESTALE
631+
ERRNO_CASE(ESTALE);
632+
#endif
633+
634+
#ifdef ETIME
635+
ERRNO_CASE(ETIME);
636+
#endif
637+
638+
#ifdef ETIMEDOUT
639+
ERRNO_CASE(ETIMEDOUT);
640+
#endif
641+
642+
#ifdef ETXTBSY
643+
ERRNO_CASE(ETXTBSY);
644+
#endif
645+
646+
#ifdef EXDEV
647+
ERRNO_CASE(EXDEV);
648+
#endif
649+
650+
default:
651+
return "";
652+
}
653+
}
654+
325655
} // namespace errors
326656

327657
void DecorateErrorStack(Environment* env,
Collapse file

‎src/node_errors.h‎

Copy file name to clipboardExpand all lines: src/node_errors.h
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,12 @@ class TryCatchScope : public v8::TryCatch {
188188
CatchMode mode_;
189189
};
190190

191+
const char* errno_string(int errorno);
192+
191193
} // namespace errors
192194

193195
void DecorateErrorStack(Environment* env,
194196
const errors::TryCatchScope& try_catch);
195-
196197
} // namespace node
197198

198199
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.