From: Patrick Date: Sun, 28 May 2023 14:02:53 +0000 (+0200) Subject: dont need length variables everywhere (i think) X-Git-Url: https://gitweb.ps.run/matrix_esp_thesis/commitdiff_plain/c1547dd3565f979d08a9e8e9eec8f42956e6901c?ds=sidebyside dont need length variables everywhere (i think) --- diff --git a/examples/Login.c b/examples/Login.c index 1c8e7cd..45204fc 100644 --- a/examples/Login.c +++ b/examples/Login.c @@ -1,6 +1,5 @@ #include #include -#include #define SERVER "https://matrix.org" #define USERNAME "pscho" @@ -12,19 +11,20 @@ int main() { MatrixClient client; - MatrixClientInit(&client, SERVER, strlen(SERVER)); + MatrixClientInit(&client, + SERVER); MatrixHttpInit(&client); MatrixClientLoginPassword(&client, - USERNAME, strlen(USERNAME), - PASSWORD, strlen(PASSWORD), - DISPLAYNAME, strlen(DISPLAYNAME)); + USERNAME, + PASSWORD, + DISPLAYNAME); - printf("Access Token: %.*s\n", client.accessTokenLen, client.accessTokenBuffer); - printf("Device ID: %.*s\n", client.deviceIdLen, client.deviceIdBuffer); - printf("Expires in (ms): %.*s\n", client.expireMsLen, client.expireMsBuffer); - printf("Refresh Token: %.*s\n", client.refreshTokenLen, client.refreshTokenBuffer); + printf("Access Token: %s\n", client.accessTokenBuffer); + printf("Device ID: %s\n", client.deviceIdBuffer); + printf("Expires in (ms): %s\n", client.expireMsBuffer); + printf("Refresh Token: %s\n", client.refreshTokenBuffer); MatrixHttpDeinit(&client); diff --git a/examples/Send.c b/examples/Send.c index 95167cc..8786be9 100644 --- a/examples/Send.c +++ b/examples/Send.c @@ -1,25 +1,26 @@ #include -#define SERVER FixedBuf("matrix.org") -#define ACCESS_TOKEN FixedBuf("abc") -#define ROOM_ID FixedBuf("!jhpZBTbckszblMYjMK:matrix.org") +#define SERVER "matrix.org" +#define ACCESS_TOKEN "syt_cHNjaG8_yBvTjVTquGCikvsAenOJ_49mBMO" +#define DEVICE_ID "MAZNCCZLBR" +#define ROOM_ID "!jhpZBTbckszblMYjMK:matrix.org" int -main( - int argc, - char **argv) +main() { MatrixClient client; MatrixClientCreate(&client, - SERVER); + SERVER, strlen(SERVER)); + + MatrixHttpInit(&client); MatrixClientSetAccessToken(&client, - ACCESS_TOKEN); + ACCESS_TOKEN, strlen(ACCESS_TOKEN)); MatrixClientSendEvent(&client, ROOM_ID, - FixedBuf("m.room.message"), - FixedBuf("{\"body\":\"Hello\",\"msgtype\":\"m.text\"}")); + "m.room.message", + "{\"body\":\"Hello\",\"msgtype\":\"m.text\"}"); return 0; } \ No newline at end of file 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