mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 19:55:10 +00:00
[ADD] Add basic Matrix ID parser
This commit is contained in:
parent
fb511b4df0
commit
8042ccc0cc
8 changed files with 70 additions and 15 deletions
34
src/MatrixID.c
Normal file
34
src/MatrixID.c
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#include <Matrix.h>
|
||||
|
||||
#include <Cytoplasm/Memory.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
UserID *
|
||||
MatrixParseID(char *user)
|
||||
{
|
||||
UserID *ret = NULL;
|
||||
char *localstart, *serverstart;
|
||||
if (!user || *user != '@')
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
localstart = user + 1;
|
||||
serverstart = strchr(user, ':');
|
||||
if (!*localstart || !serverstart || localstart == serverstart)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
if (!*++serverstart)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ret = Malloc(sizeof(*ret));
|
||||
memset(ret, '\0', sizeof(*ret));
|
||||
memcpy(ret->localpart, localstart, serverstart - localstart - 1);
|
||||
memcpy(ret->server, serverstart, strlen(serverstart));
|
||||
|
||||
return ret;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue