]> gitweb.ps.run Git - matrix_esp_thesis/commitdiff
dont need length variables everywhere (i think)
authorPatrick <patrick.schoenberger@posteo.de>
Sun, 28 May 2023 14:02:53 +0000 (16:02 +0200)
committerPatrick <patrick.schoenberger@posteo.de>
Sun, 28 May 2023 14:02:53 +0000 (16:02 +0200)
examples/Login.c
examples/Send.c
src/matrix.c
src/matrix.h
src/matrix_http_mongoose.c

index 1c8e7cd9637816632c98d00e0412b48de9950938..45204fc4fb5fcbb287273a202c941fa8cb8a7c30 100644 (file)
@@ -1,6 +1,5 @@
 #include <stdio.h>\r
 #include <matrix.h>\r
-#include <mongoose.h>\r
 \r
 #define SERVER      "https://matrix.org"\r
 #define USERNAME    "pscho"\r
@@ -12,19 +11,20 @@ int
 main()\r
 {\r
     MatrixClient client;\r
-    MatrixClientInit(&client, SERVER, strlen(SERVER));\r
+    MatrixClientInit(&client,\r
+        SERVER);\r
     \r
     MatrixHttpInit(&client);\r
 \r
     MatrixClientLoginPassword(&client,\r
-        USERNAME, strlen(USERNAME),\r
-        PASSWORD, strlen(PASSWORD),\r
-        DISPLAYNAME, strlen(DISPLAYNAME));\r
+        USERNAME,\r
+        PASSWORD,\r
+        DISPLAYNAME);\r
 \r
-    printf("Access Token: %.*s\n", client.accessTokenLen, client.accessTokenBuffer);\r
-    printf("Device ID: %.*s\n", client.deviceIdLen, client.deviceIdBuffer);\r
-    printf("Expires in (ms): %.*s\n", client.expireMsLen, client.expireMsBuffer);\r
-    printf("Refresh Token: %.*s\n", client.refreshTokenLen, client.refreshTokenBuffer);\r
+    printf("Access Token: %s\n", client.accessTokenBuffer);\r
+    printf("Device ID: %s\n", client.deviceIdBuffer);\r
+    printf("Expires in (ms): %s\n", client.expireMsBuffer);\r
+    printf("Refresh Token: %s\n", client.refreshTokenBuffer);\r
     \r
     MatrixHttpDeinit(&client);\r
 \r
index 95167cc0eb226d1fea2710760dffd9b4b981a55b..8786be910ab32dac20bd5a7dd5bead220de83fa9 100644 (file)
@@ -1,25 +1,26 @@
 #include <matrix.h>\r
 \r
-#define SERVER FixedBuf("matrix.org")\r
-#define ACCESS_TOKEN FixedBuf("abc")\r
-#define ROOM_ID FixedBuf("!jhpZBTbckszblMYjMK:matrix.org")\r
+#define SERVER       "matrix.org"\r
+#define ACCESS_TOKEN "syt_cHNjaG8_yBvTjVTquGCikvsAenOJ_49mBMO"\r
+#define DEVICE_ID    "MAZNCCZLBR"\r
+#define ROOM_ID      "!jhpZBTbckszblMYjMK:matrix.org"\r
 \r
 int\r
-main(\r
-    int argc,\r
-    char **argv)\r
+main()\r
 {\r
     MatrixClient client;\r
     MatrixClientCreate(&client,\r
-        SERVER);\r
+        SERVER, strlen(SERVER));\r
+    \r
+    MatrixHttpInit(&client);\r
 \r
     MatrixClientSetAccessToken(&client,\r
-        ACCESS_TOKEN);\r
+        ACCESS_TOKEN, strlen(ACCESS_TOKEN));\r
 \r
     MatrixClientSendEvent(&client,\r
         ROOM_ID,\r
-        FixedBuf("m.room.message"),\r
-        FixedBuf("{\"body\":\"Hello\",\"msgtype\":\"m.text\"}"));\r
+        "m.room.message",\r
+        "{\"body\":\"Hello\",\"msgtype\":\"m.text\"}");\r
 \r
     return 0;\r
 }
\ No newline at end of file
index 790f0f572e77e446cbe56f86b64cb338ad378d44..5759ba24334a3d1ee8aca71e927e3cef50f248ad 100644 (file)
 bool\r
 MatrixClientInit(\r
     MatrixClient * client,\r
-    char * server, int serverLen)\r
+    const char * server)\r
 {\r
     strcpy_s(\r
         client->server,\r
         SERVER_SIZE,\r
         server\r
     );\r
-    client->serverLen = serverLen;\r
 \r
     return true;\r
 }\r
@@ -28,54 +27,50 @@ MatrixClientInit(
 bool\r
 MatrixClientLoginPassword(\r
     MatrixClient * client,\r
-    char * username, int usernameLen,\r
-    char * password, int passwordLen,\r
-    char * displayName, int displayNameLen)\r
+    const char * username,\r
+    const char * password,\r
+    const char * displayName)\r
 {\r
     static char requestBuffer[LOGIN_REQUEST_SIZE];\r
 \r
-    int requestLen =\r
-        mjson_snprintf(requestBuffer, LOGIN_REQUEST_SIZE,\r
-            "{"\r
-                "\"type\": \"m.login.password\","\r
-                "\"identifier\": {"\r
-                    "\"type\": \"m.id.user\","\r
-                    "\"user\": \"%.*s\""\r
-                "},"\r
-                "\"password\": \"%.*s\","\r
-                "\"initial_device_display_name\": \"%.*s\""\r
-            "}",\r
-            usernameLen, username,\r
-            passwordLen, password,\r
-            displayNameLen, displayName);\r
+    mjson_snprintf(requestBuffer, LOGIN_REQUEST_SIZE,\r
+        "{"\r
+            "\"type\": \"m.login.password\","\r
+            "\"identifier\": {"\r
+                "\"type\": \"m.id.user\","\r
+                "\"user\": \"%s\""\r
+            "},"\r
+            "\"password\": \"%s\","\r
+            "\"initial_device_display_name\": \"%s\""\r
+        "}",\r
+        username,\r
+        password,\r
+        displayName);\r
     \r
     static char responseBuffer[LOGIN_RESPONSE_SIZE];\r
-    int responseLen;\r
     bool result =\r
         MatrixHttpPost(client,\r
             LOGIN_URL,\r
-            requestBuffer, requestLen,\r
-            responseBuffer, LOGIN_RESPONSE_SIZE, &responseLen);\r
+            requestBuffer,\r
+            responseBuffer, LOGIN_RESPONSE_SIZE);\r
+    \r
+    int responseLen = strlen(responseBuffer);\r
     \r
     if (!result)\r
         return false;\r
 \r
-    client->accessTokenLen =\r
-        mjson_get_string(responseBuffer, responseLen,\r
-            "$.access_token",\r
-            client->accessTokenBuffer, ACCESS_TOKEN_SIZE);\r
-    client->deviceIdLen =\r
-        mjson_get_string(responseBuffer, responseLen,\r
-            "$.device_id",\r
-            client->deviceIdBuffer, DEVICE_ID_SIZE);\r
-    client->expireMsLen =\r
-        mjson_get_string(responseBuffer, responseLen,\r
-            "$.expires_in_ms",\r
-            client->expireMsBuffer, EXPIRE_MS_SIZE);\r
-    client->refreshTokenLen =\r
-        mjson_get_string(responseBuffer, responseLen,\r
-            "$.refresh_token",\r
-            client->refreshTokenBuffer, REFRESH_TOKEN_SIZE);\r
+    mjson_get_string(responseBuffer, responseLen,\r
+        "$.access_token",\r
+        client->accessTokenBuffer, ACCESS_TOKEN_SIZE);\r
+    mjson_get_string(responseBuffer, responseLen,\r
+        "$.device_id",\r
+        client->deviceIdBuffer, DEVICE_ID_SIZE);\r
+    mjson_get_string(responseBuffer, responseLen,\r
+        "$.expires_in_ms",\r
+        client->expireMsBuffer, EXPIRE_MS_SIZE);\r
+    mjson_get_string(responseBuffer, responseLen,\r
+        "$.refresh_token",\r
+        client->refreshTokenBuffer, REFRESH_TOKEN_SIZE);\r
 \r
     return true;\r
 }\r
index b7f3a5ba2f91a7c318ce2b47f434b2f91c6a3ba2..cd109ce87d81cb863404628606f70fd34beb320f 100644 (file)
@@ -21,11 +21,11 @@ typedef struct MatrixClient {
     OlmAccount * olmAccount;\r
     OlmSession * olmSession;\r
     \r
-    char server[SERVER_SIZE]; int serverLen;\r
-    char accessTokenBuffer[ACCESS_TOKEN_SIZE]; int accessTokenLen;\r
-    char deviceIdBuffer[DEVICE_ID_SIZE]; int deviceIdLen;\r
-    char expireMsBuffer[EXPIRE_MS_SIZE]; int expireMsLen;\r
-    char refreshTokenBuffer[REFRESH_TOKEN_SIZE]; int refreshTokenLen;\r
+    char server[SERVER_SIZE];\r
+    char accessTokenBuffer[ACCESS_TOKEN_SIZE];\r
+    char deviceIdBuffer[DEVICE_ID_SIZE];\r
+    char expireMsBuffer[EXPIRE_MS_SIZE];\r
+    char refreshTokenBuffer[REFRESH_TOKEN_SIZE];\r
 \r
     void * httpUserData;\r
 } MatrixClient;\r
@@ -33,14 +33,14 @@ typedef struct MatrixClient {
 bool\r
 MatrixClientInit(\r
     MatrixClient * client,\r
-    char * server, int serverLen);\r
+    const char * server);\r
 \r
 bool\r
 MatrixClientLoginPassword(\r
     MatrixClient * client,\r
-    char * username, int usernameLen,\r
-    char * password, int passwordLen,\r
-    char * displayName, int displayNameLen);\r
+    const char * username,\r
+    const char * password,\r
+    const char * displayName);\r
 \r
 bool\r
 MatrixHttpInit(\r
@@ -54,13 +54,13 @@ bool
 MatrixHttpGet(\r
     MatrixClient * client,\r
     const char * url,\r
-    char * outResponseBuffer, int outResponseCap, int * outResponseLen);\r
+    char * outResponseBuffer, int outResponseCap);\r
 \r
 bool\r
 MatrixHttpPost(\r
     MatrixClient * client,\r
     const char * url,\r
-    char * requestBuffer, int requestLen,\r
-    char * outResponseBuffer, int outResponseCap, int * outResponseLen);\r
+    const char * requestBuffer,\r
+    char * outResponseBuffer, int outResponseCap);\r
 \r
 #endif\r
index 3faefa9231d0379f25546641c86cef5d98afe704..d44787c7760137dd3fb78aa1744f9d5849040813 100644 (file)
@@ -89,7 +89,7 @@ bool
 MatrixHttpGet(\r
     MatrixClient * client,\r
     const char * url,\r
-    char * outResponseBuffer, int outResponseCap, int * outResponseLen)\r
+    char * outResponseBuffer, int outResponseCap)\r
 {\r
     MatrixHttpConnection * conn = (MatrixHttpConnection *)client->httpUserData;\r
 \r
@@ -110,8 +110,6 @@ MatrixHttpGet(
     while (! conn->dataReceived)\r
         mg_mgr_poll(&conn->mgr, 1000);\r
 \r
-    *outResponseLen = conn->dataLen;\r
-\r
     return conn->dataReceived;\r
 }\r
 \r
@@ -119,8 +117,8 @@ bool
 MatrixHttpPost(\r
     MatrixClient * client,\r
     const char * url,\r
-    char * requestBuffer, int requestLen,\r
-    char * outResponseBuffer, int outResponseCap, int * outResponseLen)\r
+    const char * requestBuffer,\r
+    char * outResponseBuffer, int outResponseCap)\r
 {\r
     MatrixHttpConnection * conn = (MatrixHttpConnection *)client->httpUserData;\r
 \r
@@ -138,7 +136,7 @@ MatrixHttpPost(
             "\r\n",\r
             url,\r
             host.len, host.ptr,\r
-            requestLen,\r
+            strlen(requestBuffer),\r
             requestBuffer);\r
 \r
     conn->data = outResponseBuffer;\r
@@ -147,7 +145,5 @@ MatrixHttpPost(
     while (! conn->dataReceived)\r
         mg_mgr_poll(&conn->mgr, 1000);\r
 \r
-    *outResponseLen = conn->dataLen;\r
-\r
     return conn->dataReceived;\r
 }
\ No newline at end of file