abouttreesummaryrefslogcommitdiff
path: root/src
diff options
context:
space:
mode:
authorPatrick2023-05-28 16:02:53 +0200
committerPatrick2023-05-28 16:02:53 +0200
commitc1547dd3565f979d08a9e8e9eec8f42956e6901c (patch)
treea121d78f25ca2217a7eeb4d272174c26747b946a /src
parentedd4eec797ca7985a1510196be3c2be3e6ac90f8 (diff)
downloadmatrix_esp_thesis-c1547dd3565f979d08a9e8e9eec8f42956e6901c.tar.gz
matrix_esp_thesis-c1547dd3565f979d08a9e8e9eec8f42956e6901c.zip
dont need length variables everywhere (i think)
Diffstat (limited to 'src')
-rw-r--r--src/matrix.c71
-rw-r--r--src/matrix.h24
-rw-r--r--src/matrix_http_mongoose.c12
3 files changed, 49 insertions, 58 deletions
diff --git a/src/matrix.c b/src/matrix.c
index 790f0f5..5759ba2 100644
--- a/src/matrix.c
+++ b/src/matrix.c
@@ -12,14 +12,13 @@
bool
MatrixClientInit(
MatrixClient * client,
- char * server, int serverLen)
+ const char * server)
{
strcpy_s(
client->server,
SERVER_SIZE,
server
);
- client->serverLen = serverLen;
return true;
}
@@ -28,54 +27,50 @@ MatrixClientInit(
bool
MatrixClientLoginPassword(
MatrixClient * client,
- char * username, int usernameLen,
- char * password, int passwordLen,
- char * displayName, int displayNameLen)
+ const char * username,
+ const char * password,
+ const char * displayName)
{
static char requestBuffer[LOGIN_REQUEST_SIZE];
- int requestLen =
- mjson_snprintf(requestBuffer, LOGIN_REQUEST_SIZE,
- "{"
- "\"type\": \"m.login.password\","
- "\"identifier\": {"
- "\"type\": \"m.id.user\","
- "\"user\": \"%.*s\""
- "},"
- "\"password\": \"%.*s\","
- "\"initial_device_display_name\": \"%.*s\""
- "}",
- usernameLen, username,
- passwordLen, password,
- displayNameLen, displayName);
+ mjson_snprintf(requestBuffer, LOGIN_REQUEST_SIZE,
+ "{"
+ "\"type\": \"m.login.password\","
+ "\"identifier\": {"
+ "\"type\": \"m.id.user\","
+ "\"user\": \"%s\""
+ "},"
+ "\"password\": \"%s\","
+ "\"initial_device_display_name\": \"%s\""
+ "}",
+ username,
+ password,
+ displayName);
static char responseBuffer[LOGIN_RESPONSE_SIZE];
- int responseLen;
bool result =
MatrixHttpPost(client,
LOGIN_URL,
- requestBuffer, requestLen,
- responseBuffer, LOGIN_RESPONSE_SIZE, &responseLen);
+ requestBuffer,
+ responseBuffer, LOGIN_RESPONSE_SIZE);
+
+ int responseLen = strlen(responseBuffer);
if (!result)
return false;
- client->accessTokenLen =
- mjson_get_string(responseBuffer, responseLen,
- "$.access_token",
- client->accessTokenBuffer, ACCESS_TOKEN_SIZE);
- client->deviceIdLen =
- mjson_get_string(responseBuffer, responseLen,
- "$.device_id",
- client->deviceIdBuffer, DEVICE_ID_SIZE);
- client->expireMsLen =
- mjson_get_string(responseBuffer, responseLen,
- "$.expires_in_ms",
- client->expireMsBuffer, EXPIRE_MS_SIZE);
- client->refreshTokenLen =
- mjson_get_string(responseBuffer, responseLen,
- "$.refresh_token",
- client->refreshTokenBuffer, REFRESH_TOKEN_SIZE);
+ mjson_get_string(responseBuffer, responseLen,
+ "$.access_token",
+ client->accessTokenBuffer, ACCESS_TOKEN_SIZE);
+ mjson_get_string(responseBuffer, responseLen,
+ "$.device_id",
+ client->deviceIdBuffer, DEVICE_ID_SIZE);
+ mjson_get_string(responseBuffer, responseLen,
+ "$.expires_in_ms",
+ client->expireMsBuffer, EXPIRE_MS_SIZE);
+ mjson_get_string(responseBuffer, responseLen,
+ "$.refresh_token",
+ client->refreshTokenBuffer, REFRESH_TOKEN_SIZE);
return true;
}
diff --git a/src/matrix.h b/src/matrix.h
index b7f3a5b..cd109ce 100644
--- a/src/matrix.h
+++ b/src/matrix.h
@@ -21,11 +21,11 @@ typedef struct MatrixClient {
OlmAccount * olmAccount;
OlmSession * olmSession;
- char server[SERVER_SIZE]; int serverLen;
- char accessTokenBuffer[ACCESS_TOKEN_SIZE]; int accessTokenLen;
- char deviceIdBuffer[DEVICE_ID_SIZE]; int deviceIdLen;
- char expireMsBuffer[EXPIRE_MS_SIZE]; int expireMsLen;
- char refreshTokenBuffer[REFRESH_TOKEN_SIZE]; int refreshTokenLen;
+ char server[SERVER_SIZE];
+ char accessTokenBuffer[ACCESS_TOKEN_SIZE];
+ char deviceIdBuffer[DEVICE_ID_SIZE];
+ char expireMsBuffer[EXPIRE_MS_SIZE];
+ char refreshTokenBuffer[REFRESH_TOKEN_SIZE];
void * httpUserData;
} MatrixClient;
@@ -33,14 +33,14 @@ typedef struct MatrixClient {
bool
MatrixClientInit(
MatrixClient * client,
- char * server, int serverLen);
+ const char * server);
bool
MatrixClientLoginPassword(
MatrixClient * client,
- char * username, int usernameLen,
- char * password, int passwordLen,
- char * displayName, int displayNameLen);
+ const char * username,
+ const char * password,
+ const char * displayName);
bool
MatrixHttpInit(
@@ -54,13 +54,13 @@ bool
MatrixHttpGet(
MatrixClient * client,
const char * url,
- char * outResponseBuffer, int outResponseCap, int * outResponseLen);
+ char * outResponseBuffer, int outResponseCap);
bool
MatrixHttpPost(
MatrixClient * client,
const char * url,
- char * requestBuffer, int requestLen,
- char * outResponseBuffer, int outResponseCap, int * outResponseLen);
+ const char * requestBuffer,
+ char * outResponseBuffer, int outResponseCap);
#endif
diff --git a/src/matrix_http_mongoose.c b/src/matrix_http_mongoose.c
index 3faefa9..d44787c 100644
--- a/src/matrix_http_mongoose.c
+++ b/src/matrix_http_mongoose.c
@@ -89,7 +89,7 @@ bool
MatrixHttpGet(
MatrixClient * client,
const char * url,
- char * outResponseBuffer, int outResponseCap, int * outResponseLen)
+ char * outResponseBuffer, int outResponseCap)
{
MatrixHttpConnection * conn = (MatrixHttpConnection *)client->httpUserData;
@@ -110,8 +110,6 @@ MatrixHttpGet(
while (! conn->dataReceived)
mg_mgr_poll(&conn->mgr, 1000);
- *outResponseLen = conn->dataLen;
-
return conn->dataReceived;
}
@@ -119,8 +117,8 @@ bool
MatrixHttpPost(
MatrixClient * client,
const char * url,
- char * requestBuffer, int requestLen,
- char * outResponseBuffer, int outResponseCap, int * outResponseLen)
+ const char * requestBuffer,
+ char * outResponseBuffer, int outResponseCap)
{
MatrixHttpConnection * conn = (MatrixHttpConnection *)client->httpUserData;
@@ -138,7 +136,7 @@ MatrixHttpPost(
"\r\n",
url,
host.len, host.ptr,
- requestLen,
+ strlen(requestBuffer),
requestBuffer);
conn->data = outResponseBuffer;
@@ -147,7 +145,5 @@ MatrixHttpPost(
while (! conn->dataReceived)
mg_mgr_poll(&conn->mgr, 1000);
- *outResponseLen = conn->dataLen;
-
return conn->dataReceived;
} \ No newline at end of file