aboutsummaryrefslogtreecommitdiff
path: root/template/c
diff options
context:
space:
mode:
authormityu <mityu.email@gmail.com>2020-01-21 11:59:51 +0900
committermityu <mityu.email@gmail.com>2020-01-21 11:59:51 +0900
commitb75b06bd0b099cb7e2c54863dbe91bc3a3028d5f (patch)
treec80588d1397cd845d1df2be2bc32d759758f5079 /template/c
parent670e2e61d089bafacab4d3994578c58794307ef2 (diff)
downloadvim-sonictemplate-b75b06bd0b099cb7e2c54863dbe91bc3a3028d5f.tar.gz
vim-sonictemplate-b75b06bd0b099cb7e2c54863dbe91bc3a3028d5f.tar.bz2
vim-sonictemplate-b75b06bd0b099cb7e2c54863dbe91bc3a3028d5f.zip
Squashed commit of the following:
commit e972aa09aa158189c36913b62a4344cb3ca78c76 Merge: 0925277 4d00bdb Author: mattn <mattn.jp@gmail.com> Date: Tue Jan 14 18:26:58 2020 +0900 Merge pull request #39 from sgur/fix/error_on_normal Prefix noautocmd to "normal!" commands which trigger TextChange events. commit 4d00bdb4b7e60e0466d3a6e5791779f8ebe7d8fc Author: sgur <sgurrr@gmail.com> Date: Tue Jan 14 16:28:05 2020 +0900 Prefix noautocmd to normal! commands which trigger TextChange events. Fix #38 commit 0925277597e5db0e4b601aecc290b79db239b174 Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Fri Dec 27 15:59:12 2019 +0900 Add snippets for typescript commit 20a19f48f9db3a32c3ebc0352fe094bd9816cd38 Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Wed Dec 25 17:04:37 2019 +0900 Add base-main.scala commit e746cdf5c5dc8d3849b7e2517c4a24e57d931dd3 Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Sat Dec 21 23:11:46 2019 +0900 Strictly commit c512546f04de8a185d40292dd0860d81d1896130 Merge: 859adef 47c0d77 Author: mattn <mattn.jp@gmail.com> Date: Thu Nov 14 19:01:33 2019 +0900 Merge pull request #37 from anekos/fix/dont-kill-my-register Avoid updating register commit 47c0d77f6cad63ea17b0fa6c87d585768c35cf89 Author: anekos <anekos@snca.net> Date: Thu Nov 14 18:46:36 2019 +0900 Avoid updating register commit 859adef1e67cc0fb1a99e4e3f3d58360f5464f02 Merge: 4e1b1a3 5e752a5 Author: mattn <mattn.jp@gmail.com> Date: Tue Oct 8 16:00:33 2019 +0900 Merge pull request #36 from wallysslima/master replace deprecated MANTAINER with LABEL in Dockerfile commit 4e1b1a36a95e899ad4415d7b4373e2c0e3ff05af Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Sun Oct 6 21:29:01 2019 +0900 Add build.gradle for kotlin commit 5e752a5bf606ec50fffca5a2269ade32a22c1fe4 Author: Wallyss Lima <wallysslima@gmail.com> Date: Thu Oct 3 11:58:22 2019 -0300 replace deprecated MANTAINER with LABEL in Dockerfile commit 51a9cec47ad815451a8cdf1408a50ea525111442 Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Wed Oct 2 11:26:01 2019 +0900 Fix feedkeys commit 807562bbebb7b7c033823ebd3b13b32a814d4f7f Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Wed Oct 2 10:41:10 2019 +0900 Use flag n for feedkeys commit 7db10f422f61819a1a8f45d0dade1de17ecab2b6 Merge: 31de6a5 39cf197 Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Wed Oct 2 10:06:35 2019 +0900 Merge branch 'master' of https://github.com/mattn/sonictemplate-vim commit 31de6a5e48b65dface121e654e40e06de6bf364a Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Wed Oct 2 09:25:34 2019 +0900 Update postfix completion commit 39cf197d0e46eeff8f905063ba5030e8690169b3 Merge: df88ac3 2f49560 Author: mattn <mattn.jp@gmail.com> Date: Thu Sep 26 14:28:34 2019 +0900 Merge pull request #34 from hiroebe/fix-shiftwidth Use shiftwidth() instead of &shiftwidth commit 2f49560db7699d7988a817a4f69f8b684cecdfee Author: hiroebe <hiro.ebe.albirex12@gmail.com> Date: Mon Sep 16 17:17:12 2019 +0900 Use shiftwidth() instead of &shiftwidth commit df88ac36ed24e68d7d9d7e4d9aa471575d3c79bd Author: mattn <mattn.jp@gmail.com> Date: Wed Aug 14 15:01:05 2019 +0900 Create FUNDING.yml commit c1ec4cdaf215f22c86040584cb1eef2b3ac2b741 Author: Yasuhiro Matsumoto <mattn.jp@gmail.com> Date: Fri Jul 12 22:29:15 2019 +0900 Fix socket server
Diffstat (limited to 'template/c')
-rw-r--r--template/c/base-socket-server.c37
1 files changed, 26 insertions, 11 deletions
diff --git a/template/c/base-socket-server.c b/template/c/base-socket-server.c
index 4fed22e..5e41e40 100644
--- a/template/c/base-socket-server.c
+++ b/template/c/base-socket-server.c
@@ -1,5 +1,19 @@
#ifdef _WIN32
# include <ws2tcpip.h>
+# include <error.h>
+# include <stdio.h>
+static void
+socket_perror(const char *s) {
+ CHAR buf[512];
+ FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL,
+ WSAGetLastError(),
+ 0,
+ buf,
+ sizeof(buf)/sizeof(buf[0]),
+ NULL);
+ printf("%s: %s", s, buf);
+}
#else
# include <sys/fcntl.h>
# include <sys/types.h>
@@ -8,6 +22,7 @@
# include <netdb.h>
# include <stdio.h>
#define closesocket(fd) close(fd)
+#define socket_perror(s) perror(s)
#endif
int
@@ -23,35 +38,35 @@ main(int argc, char* argv[]) {
WSAStartup(MAKEWORD(2, 0), &wsa);
#endif
- if ((server_fd = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
- perror("reader: socket");
+ if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
+ socket_perror("reader: socket");
exit(1);
}
memset((char *) &reader_addr, 0, sizeof(reader_addr));
reader_addr.sin_family = PF_INET;
reader_addr.sin_addr.s_addr = htonl(INADDR_ANY);
- //reader_addr.sin_port = htons(8000);
- reader_addr.sin_port = 0;
+ reader_addr.sin_port = htons(8000);
if (bind(server_fd, (struct sockaddr *)&reader_addr, sizeof(reader_addr)) < 0) {
- perror("reader: bind");
+ socket_perror("reader: bind");
exit(1);
}
- size_t socklen = sizeof(reader_addr);
+ socklen_t socklen = sizeof(reader_addr);
if (getsockname(server_fd, (struct sockaddr *)&reader_addr, &socklen) < 0) {
- perror("reader: bind");
+ socket_perror("getsockname: bind");
exit(1);
}
if (listen(server_fd, 5) < 0) {
- perror("reader: listen");
- close(server_fd);
+ socket_perror("reader: listen");
+ closesocket(server_fd);
exit(1);
}
+ writer_len = sizeof(writer_addr);
if ((client_fd = accept(server_fd,(struct sockaddr *)&writer_addr, &writer_len)) < 0) {
- perror("reader: accept");
+ socket_perror("reader: accept");
exit(1);
}
@@ -62,7 +77,7 @@ main(int argc, char* argv[]) {
if (n == 0) {
break;
} else if (n == -1) {
- perror("recv");
+ socket_perror("recv");
exit(EXIT_FAILURE);
} else {
send(client_fd, buf, n, 0);