diff options
| author | Patrick | 2023-05-28 16:02:53 +0200 |
|---|---|---|
| committer | Patrick | 2023-05-28 16:02:53 +0200 |
| commit | c1547dd3565f979d08a9e8e9eec8f42956e6901c (patch) | |
| tree | a121d78f25ca2217a7eeb4d272174c26747b946a /src | |
| parent | edd4eec797ca7985a1510196be3c2be3e6ac90f8 (diff) | |
| download | matrix_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.c | 71 | ||||
| -rw-r--r-- | src/matrix.h | 24 | ||||
| -rw-r--r-- | src/matrix_http_mongoose.c | 12 |
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 |
