catalinux / Conn (public) (License: LGPLv2) (since 2016-03-01) (hash sha1)
Net library for easy building ipv4/ipv6 network daemons/clients
List of commits:
Subject Hash Author Date (UTC)
Added Conn_rtrim function. c37737a16e3d9de95cf659bae546de8808a3e3ed Catalin(ux) M. BOIE 2009-04-14 06:26:16
Revert "Conn_get_line removes also '\r' now." 9d56ef9813225fe1127a2d5800c124aa65d5e1d2 Catalin(ux) M. BOIE 2009-04-14 06:20:50
Changed Conn_split to not modify original line. 2f0d734f54b243356d0d4468691af50aad9e667a Catalin(ux) M. BOIE 2009-04-14 06:00:26
Added Conn_split_get_ull (unsigned long long). 735e92324db56d5e9875f4e123102fc1e995cb4d Catalin(ux) M. BOIE 2009-04-13 22:13:04
Conn_get_line removes also '\r' now. c1e5a9915b3ae6196a68fb1e7f73f295bef1737c Catalin(ux) M. BOIE 2009-04-13 21:56:47
Re-export Conn_get lost somehow. 293f7aaed4f39de54821c8863023adb0e00234ac Catalin(ux) M. BOIE 2009-04-13 21:33:19
Bump the version. d74d67d1327c8873c715906feeb8b4f053fff70b Catalin(ux) M. BOIE 2009-03-17 13:07:01
Added splitting functions. It gets easier to write ascii line client/server app. 48e73f48d8c264e944dfd211e926ca3ad8f879d6 Catalin(ux) M. BOIE 2009-03-17 13:06:19
Do not build examples by default. 9dafc6232f426f361047a1836832e2c97823d14c Catalin(ux) M. BOIE 2009-03-17 09:59:14
Bump up the version. 47a4be6a1ae721a7b9d0e07db5a288985163758c Catalin(ux) M. BOIE 2009-03-17 09:01:10
Added Conn_addr_info - check what family an address is. 10087d1dec5592e4a5396df09aade7d963cf1ea4 Catalin(ux) M. BOIE 2009-03-17 08:55:47
Bump up the version. 4ce4f82faa025d9a386538d1db5d74a443baf62a Catalin(ux) M. BOIE 2009-03-10 09:22:37
Do not try to close free state slots. f17b6d92d668f72de10967ae9178131916db64c8 Catalin(ux) M. BOIE 2009-03-09 10:29:35
TODO: More entries added (timer optimization). 0b0be1574b15e7dae4b7dca9f02f0ff78bc02136 Catalin(ux) M. BOIE 2009-03-09 10:27:37
Raised debug level for compacting phase. d610f3d45075311f9f21c7c122dfefa773c48a64 Catalin(ux) M. BOIE 2009-03-09 10:17:41
Bump up the version. b8a55af5786f74ea38e5929af347cfc79f0d3dfd Catalin(ux) M. BOIE 2009-03-09 10:14:10
Moved free_intern in the periodic scanning to not miss connections in listen. 5fb989866b1ceb68e64e62e035610c40cf519c03 Catalin(ux) M. BOIE 2009-03-09 10:05:03
More clear logging. 3599fc41cce9bd25e5461d0c4350780f4dbc64a6 Catalin(ux) M. BOIE 2009-03-09 10:04:47
Bump up the version. 64a2ec25c265a6750b25e7bd5be85f66766e4cf4 Catalin(ux) M. BOIE 2009-03-09 08:59:22
Fixed a bug preventing a socket in listen state to be closed. 287e366451321862731e005d48391ed39149693b Catalin(ux) M. BOIE 2009-03-09 08:58:51
Commit c37737a16e3d9de95cf659bae546de8808a3e3ed - Added Conn_rtrim function.
Signed-off-by: Catalin(ux) M. BOIE <catab@embedromix.ro>
Author: Catalin(ux) M. BOIE
Author date (UTC): 2009-04-14 06:26
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2009-04-14 12:47
Parent(s): 9d56ef9813225fe1127a2d5800c124aa65d5e1d2
Signing key:
Tree: 1a093b4a88ac4f9fe7203df49d7091a661dc9044
File Lines added Lines deleted
Conn_engine_core.c 4 4
Conn_engine_core.h 1 0
File Conn_engine_core.c changed (mode: 100644) (index 90ac51d..243b6af)
... ... int Conn_addr_family(const char *addr)
960 960 /* Splitting stuff */ /* Splitting stuff */
961 961
962 962 /* /*
963 * Cut in place the end \r and \n.
963 * Cut from right, in place, the chars specified in @chars.
964 964 */ */
965 static void cut(char *s)
965 void Conn_rtrim(char *s, const char *chars)
966 966 { {
967 967 int pos; int pos;
968 968
969 969 pos = strlen(s) - 1; pos = strlen(s) - 1;
970 970
971 while ((s[pos] == '\r') || (s[pos] == '\n')) {
971 while (strchr(chars, s[pos])) {
972 972 s[pos] = '\0'; s[pos] = '\0';
973 973 pos--; pos--;
974 974 } }
 
... ... struct Conn_split *Conn_split(const char *line0)
1015 1015 if (!line) if (!line)
1016 1016 return NULL; return NULL;
1017 1017
1018 cut(line);
1018 Conn_rtrim(line, "\r\n \t");
1019 1019
1020 1020 /* do the spliting */ /* do the spliting */
1021 1021 p = line; p = line;
File Conn_engine_core.h changed (mode: 100644) (index 5a0df4f..268914a)
... ... extern int Conn_queue_add(struct Conn_queue *q,
299 299 extern void Conn_queue_destroy(struct Conn_queue *q); extern void Conn_queue_destroy(struct Conn_queue *q);
300 300
301 301 /* splitting stuff */ /* splitting stuff */
302 extern void Conn_rtrim(char *s, const char *chars);
302 303 extern struct Conn_split *Conn_split(const char *line); extern struct Conn_split *Conn_split(const char *line);
303 304 extern char *Conn_split_get_size(const struct Conn_split *s, extern char *Conn_split_get_size(const struct Conn_split *s,
304 305 const char *l, unsigned int *len); const char *l, unsigned int *len);
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/catalinux/Conn

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/catalinux/Conn

Clone this repository using git:
git clone git://git.rocketgit.com/user/catalinux/Conn

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main