From 9470fa03e26dc7e6d4dbac831cf8325b85badc9d Mon Sep 17 00:00:00 2001 From: Adam Fordsmand Date: Fri, 15 Apr 2022 23:42:30 +0200 Subject: [PATCH] Cleaned comments --- BlogDB.c | 267 +++++++++++-------------------------------------------- 1 file changed, 50 insertions(+), 217 deletions(-) diff --git a/BlogDB.c b/BlogDB.c index c33b6e5..5dc239d 100644 --- a/BlogDB.c +++ b/BlogDB.c @@ -34,26 +34,21 @@ static int AuthorIDs(int** arr, MYSQL* con); // Connects to the MariaDB database and returns the connection MYSQL* conn2maria() { - // Initialize the connection MYSQL *con = mysql_init(NULL); - // If successful, continue, else throw error if (con == NULL) { fprintf(stderr, "%s\n", mysql_error(con)); exit(1); } - // Connect with specific details, if successful continue, else throw error - if (mysql_real_connect(con, "localhost", "adam", "1234", - "mydb", 0, NULL, 0) == NULL) + if (mysql_real_connect(con, "localhost", "adam", "1234", "mydb", 0, NULL, 0) == NULL) { fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); } - // return successful connection return con; } @@ -65,7 +60,6 @@ int AddPost(char title[], int authorId, char datePosted[], char post[], int tags con = conn2maria(); } - // Build a query char* query; if(0 > asprintf(&query, "INSERT INTO blog_posts (title,author_id,date_posted,post,state) VALUES (\"%s\", \"%d\", \"%s\", \"%s\", \"0\")", @@ -75,7 +69,6 @@ int AddPost(char title[], int authorId, char datePosted[], char post[], int tags post )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, query)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -83,10 +76,8 @@ int AddPost(char title[], int authorId, char datePosted[], char post[], int tags exit(1); } - // Free the memory of the query string free(query); - if (mysql_query(con, "SELECT LAST_INSERT_ID()")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -94,29 +85,23 @@ int AddPost(char title[], int authorId, char datePosted[], char post[], int tags exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); - // For all rows (only one ;P) MYSQL_ROW row; row = mysql_fetch_row(result); - int output = atoi(row[0]); + int postID = atoi(row[0]); - // Ignore all if tags is NULL pointer if (tags != NULL) { - //printf("%d\n", tagSize / sizeof(int)); - // for the size of tags + // for each in tags for (int i = 0; i < tagSize / sizeof(int); i++) { - printf("%d\n", i); - - AssignTag(tags[i], output, con); + AssignTag(tags[i], postID, con); } } - return output; + return postID; } // Edits a post in the database, to the new given values @@ -132,46 +117,38 @@ int EditPost(int postID, char title[], char post[], MYSQL* con) "SELECT * FROM blog_posts WHERE id=(%d)", postID )) exit(1); -// Query the server, if successful continue, else throw error + if (mysql_query(con, selectQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); + free(selectQuery); mysql_close(con); exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); if (result == NULL) { - printf("Hey\n"); + free(selectQuery); + exit(1); } - MYSQL_ROW row; - int tagFound = 1; - - if (mysql_fetch_row(result) == NULL) { - printf("Hey4\n"); - tagFound = 0; + free(selectQuery); + exit(1); } free(selectQuery); char* updateQuery; - - if (!tagFound) { return postID; } - - // Build a query if (0 > asprintf(&updateQuery, "UPDATE blog_posts SET title=(\"%s\"), post=(\"%s\") WHERE id=(%d)", title, post, postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, updateQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -193,47 +170,33 @@ int AddFilePost(int authorID, char filePath[], MYSQL* con) con = conn2maria(); } - // Author ID <= 0 should default to me. - if (authorID <= 0) - { - authorID = 1; - } + if (authorID <= 0) { authorID = 1; } - - // Get current data in string date time_t t = time(NULL); struct tm *tm = localtime(&t); char date[64]; assert(strftime(date, sizeof(date), "%F", tm)); - - // Define a file and buffer FILE* FilePointer; int BufferLength = 8192; char Buffer[BufferLength]; char StringEnd[] = "\0"; - // Open file FilePointer = fopen(filePath, "r"); - // Get first line fgets(Buffer, BufferLength, FilePointer); - // Get the substrings Buffer[0:3] and Buffer[-6:-1] - // Buffer[BufferLength] is the same as "\0" but without warnings + // Get the substrings startTest = Buffer[0:3] and endTest = Buffer[-6:-1] int LineLength = strlen(Buffer); char startTest[5] = {Buffer[0], Buffer[1], Buffer[2], Buffer[3], StringEnd[1]}; char endTest[6] = {Buffer[LineLength - 6], Buffer[LineLength - 5], Buffer[LineLength - 4], Buffer[LineLength - 3], Buffer[LineLength - 2], StringEnd[1]}; - // Check that the firstline starts with "

" and ends with "

" if (!(strcmp(startTest, "

") == 0 && strcmp(endTest, "

") == 0)) { - printf("%s What is this %s\n", startTest, endTest); + printf("Start Test : '%s'\nEnd Test : '%s'\n", startTest, endTest); return -1; } - - // This is equivalent to Buffer = Buffer[3:-6] - // This is done to remove the

tags + // Remove the

tags for (int i = 4; i < BufferLength; ++i) { if (Buffer[i + 6] == StringEnd[0]) { @@ -247,10 +210,8 @@ int AddFilePost(int authorID, char filePath[], MYSQL* con) // Add a new post with correct title, author and date but with an empty post. int postID = AddPost(Buffer, authorID, date, "", NULL, 0, con); - // Concat the rest of the file, line by line to the new post while (fgets(Buffer, BufferLength, FilePointer)) { - // Build a query char* query; if(0 > asprintf(&query, "UPDATE blog_posts SET post = CONCAT(post, \"%s\n\") WHERE id=(%d)", @@ -258,7 +219,6 @@ int AddFilePost(int authorID, char filePath[], MYSQL* con) postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, query)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -266,11 +226,9 @@ int AddFilePost(int authorID, char filePath[], MYSQL* con) exit(1); } - // Free the memory of the query string free(query); } - // return the postID of the new post. return postID; } @@ -283,33 +241,26 @@ int EditFilePost(char filePath[], int postID, MYSQL* con) con = conn2maria(); } - // Define a file and buffer FILE* FilePointer; int BufferLength = 8192; char Buffer[BufferLength]; char StringEnd[] = "\0"; - // Open file FilePointer = fopen(filePath, "r"); - // Get first line fgets(Buffer, BufferLength, FilePointer); - // Get the substrings Buffer[0:3] and Buffer[-6:-1] - // Buffer[BufferLength] is the same as "\0" but without warnings + // Get the substrings startTest = Buffer[0:3] and endTest = Buffer[-6:-1] int LineLength = strlen(Buffer); char startTest[5] = {Buffer[0], Buffer[1], Buffer[2], Buffer[3], StringEnd[1]}; char endTest[6] = {Buffer[LineLength - 6], Buffer[LineLength - 5], Buffer[LineLength - 4], Buffer[LineLength - 3], Buffer[LineLength - 2], StringEnd[1]}; - // Check that the firstline starts with "

" and ends with "

" if (!(strcmp(startTest, "

") == 0 && strcmp(endTest, "

") == 0)) { - printf("'%s' '%s'\n", startTest, endTest); + printf("Start Test : %s\nEnd Test : %s\n", startTest, endTest); return -1; } - - // This is equivalent to Buffer = Buffer[3:-6] - // This is done to remove the

tags + // Remove the

tags for (int i = 4; i < BufferLength; ++i) { if (Buffer[i + 6] == StringEnd[0]) { @@ -320,13 +271,11 @@ int EditFilePost(char filePath[], int postID, MYSQL* con) Buffer[i-4] = Buffer[i]; } - // Edits post with correct title, but with an empty post. + // Edits post with correct title and empties post. EditPost(postID, Buffer, "", con); - // Concat the rest of the file, line by line to the post while (fgets(Buffer, BufferLength, FilePointer)) { - // Build a query char* query; if(0 > asprintf(&query, "UPDATE blog_posts SET post = CONCAT(post, \"%s\") WHERE id=(%d)", @@ -334,7 +283,6 @@ int EditFilePost(char filePath[], int postID, MYSQL* con) postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, query)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -342,23 +290,18 @@ int EditFilePost(char filePath[], int postID, MYSQL* con) exit(1); } - // Free the memory of the query string free(query); } - // return the postID of the new post. return postID; } -// Open a temporary file containing the standard template, -// and add the contents as a post +// Open a temporary file containing the standard template, and add the contents as a post int BlogWrite(MYSQL* con) { FILE *fp; char* tmpName = tmpnam(NULL); - //fp = tmpfile(); - fp = fopen(tmpName, "w+"); fprintf(fp, "

\n

\n"); fclose(fp); @@ -366,22 +309,20 @@ int BlogWrite(MYSQL* con) char* command; if(0 > asprintf(&command, "${EDITOR:-'vi'} %s", tmpName)) exit(1); system(command); - AddFilePost(1, tmpName, con); + + int postID = AddFilePost(1, tmpName, con); remove(tmpName); - return 1; + return postID; } -// Open a temporary file containing the contents of the given post -// and update the contents as a post +// Open a temporary file containing the contents of the given post and update the contents as a post int BlogEdit(int postID, MYSQL* con) { FILE *fp; char* tmpName = tmpnam(NULL); - //fp = tmpfile(); - char *result[6]; PullPostData(result, postID, NULL); @@ -397,7 +338,7 @@ int BlogEdit(int postID, MYSQL* con) remove(tmpName); - return 1; + return postID; } // Pulls a single post's data into the supplied array @@ -408,11 +349,9 @@ int PullPostData(char* strings[6], int postID, MYSQL* con) con = conn2maria(); } - // Build a query char* query; if(0 > asprintf(&query, "SELECT * FROM blog_posts WHERE id=(%d)", postID)) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, query)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -420,21 +359,16 @@ int PullPostData(char* strings[6], int postID, MYSQL* con) exit(1); } - // Free the memory of the query string free(query); - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); - // For all rows (only one ;P) MYSQL_ROW row; - while ((row = mysql_fetch_row(result))) + if ((row = mysql_fetch_row(result))) { - // For all fields in row for(int i = 0; i < num_fields; i++) { - // 'return' the output strings[i] = row[i]; } @@ -443,6 +377,7 @@ int PullPostData(char* strings[6], int postID, MYSQL* con) return postID; } +// Pull all coloums of all posts except for the post coloumn int PullPostDescriptions(int** IDs, char* Titles[255], int** authors, int** dates, MYSQL* con) { if (con == NULL) @@ -450,7 +385,6 @@ int PullPostDescriptions(int** IDs, char* Titles[255], int** authors, int** date con = conn2maria(); } - // Query the server, if successful continue, else throw error if (mysql_query(con, "SELECT COUNT(*) FROM blog_posts")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -458,17 +392,14 @@ int PullPostDescriptions(int** IDs, char* Titles[255], int** authors, int** date exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); MYSQL_ROW row; row = mysql_fetch_row(result); - // Get the Count int count = atoi(row[0]); free(result); - // Query the server, if successful continue, else throw error if (mysql_query(con, "SELECT id,title,author_id,date_posted FROM blog_posts WHERE state=0;")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -479,7 +410,7 @@ int PullPostDescriptions(int** IDs, char* Titles[255], int** authors, int** date MYSQL_RES *result2 = mysql_store_result(con); // Allocate the array that was passed by reference - // To be one larger than I need. + // To be one larger than needed *IDs = (int *)malloc(sizeof(int) * (count + 1)); *authors = (int *)malloc(sizeof(int) * (count + 1)); *dates = (int *)malloc(sizeof(int) * (count + 1)); @@ -490,19 +421,10 @@ int PullPostDescriptions(int** IDs, char* Titles[255], int** authors, int** date } - //*Titles = (char *)malloc(((count + 1) * 255) * sizeof(char)); - - - // loop count times. for (int i = 0; i < count; ++i) { - //Get row row = mysql_fetch_row(result2); - // If the row exists (I counted them, so it must exist.) if (row != NULL) { - // Set the i-th element of the array, that was passed by reference, to be the current row's ID - //*(*arr + i) = atoi(row[0]); - *(*IDs + i) = atoi(row[0]); *(*authors + i) = atoi(row[2]); *(*dates + i) = atoi(row[3]); @@ -519,16 +441,14 @@ int PullPostDescriptions(int** IDs, char* Titles[255], int** authors, int** date // Enters unknown memory. //*(*arr + count) = -1; *(*IDs + count) = -1; - *(*authors + count) = -1; *(*dates + count) = -1; *(*Titles + count) = ""; - // Return the count, for easy looping. return count; } -// Adds a tag +// Adds a new tag int AddTag(char tagTitle[], MYSQL* con) { if (con == NULL) @@ -537,13 +457,10 @@ int AddTag(char tagTitle[], MYSQL* con) } char* insertQuery; - - // Build a query if (0 > asprintf(&insertQuery, "INSERT INTO tags (name) VALUES (\"%s\")", tagTitle )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, insertQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -560,16 +477,14 @@ int AddTag(char tagTitle[], MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); - // For all rows (only one ;P) MYSQL_ROW row; row = mysql_fetch_row(result); - int output = atoi(row[0]); + int tagID = atoi(row[0]); - return output; + return tagID; } // Removes a tag, and unassigns itself from any and all posts. @@ -581,13 +496,10 @@ int DeleteTag(int tagID, MYSQL* con) } char* deleteQuery; - - // Build a query if (0 > asprintf(&deleteQuery, "DELETE FROM tags WHERE id=(%d)", tagID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, deleteQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -598,13 +510,10 @@ int DeleteTag(int tagID, MYSQL* con) free(deleteQuery); char* deleteTagsQuery; - - // Build a query if (0 > asprintf(&deleteTagsQuery, "DELETE FROM blog_post_tags WHERE tag_id=(%d)", tagID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, deleteTagsQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -632,7 +541,6 @@ int EditTag(int tagID, char tagTitle[], MYSQL* con) tagID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, selectQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -640,32 +548,25 @@ int EditTag(int tagID, char tagTitle[], MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); MYSQL_ROW row; - int tagFound = 1; - if (mysql_fetch_row(result) == NULL) { - tagFound = 0; + free(selectQuery); + return tagID; } free(selectQuery); char* updateQuery; - - if (!tagFound) { return tagID; } - - // Build a query if (0 > asprintf(&updateQuery, "UPDATE tags SET name=(\"%s\") WHERE id=(%d)", tagTitle, tagID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, updateQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -687,13 +588,11 @@ int AssignTag(int tagID, int postID, MYSQL* con) } char* selectQuery; - if(0 > asprintf(&selectQuery, - "SELECT * FROM blog_post_tags WHERE tag_id=(%d) AND blog_post_id=(%d)", + if(0 > asprintf(&selectQuery, "SELECT * FROM blog_post_tags WHERE tag_id=(%d) AND blog_post_id=(%d)", tagID, postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, selectQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -701,34 +600,29 @@ int AssignTag(int tagID, int postID, MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); if (result == NULL) { - printf("Hey\n"); + return postID; } MYSQL_ROW row; - int tagFound = 1; - if (mysql_fetch_row(result) == NULL) { - printf("Hey4\n"); - tagFound = 0; + free(selectQuery); + return postID; } free(selectQuery); char* insertQuery; - - if (tagFound) { return postID; } - - // Build a query - if (0 > asprintf(&insertQuery, "INSERT INTO blog_post_tags (tag_id,blog_post_id) VALUES (%d, %d)", tagID, postID )) exit(1); + if (0 > asprintf(&insertQuery, "INSERT INTO blog_post_tags (tag_id,blog_post_id) VALUES (%d, %d)", + tagID, + postID + )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, insertQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -750,14 +644,11 @@ int RetractTag(int tagID, int postID, MYSQL* con) } char* deleteQuery; - - // Build a query if (0 > asprintf(&deleteQuery, "DELETE FROM blog_post_tags WHERE tag_id=(%d) AND blog_post_id=(%d)", tagID, postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, deleteQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -780,14 +671,12 @@ int AddAuthor(char firstName[], char lastName[], char email[], MYSQL* con) char* insertQuery; - // Build a query if (0 > asprintf(&insertQuery, "INSERT INTO people (first_name, last_name, email) VALUES (\"%s\", \"%s\", \"%s\")", firstName, lastName, email )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, insertQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -804,16 +693,14 @@ int AddAuthor(char firstName[], char lastName[], char email[], MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); - // For all rows (only one ;P) MYSQL_ROW row; row = mysql_fetch_row(result); - int output = atoi(row[0]); + int authorID = atoi(row[0]); - return output; + return authorID; } // Pull the full name and email of the given author ID @@ -824,11 +711,9 @@ int PullAuthorData(char* strings[4], int authorID, MYSQL* con) con = conn2maria(); } - // Build a query char* query; if(0 > asprintf(&query, "SELECT * FROM people WHERE id=(%d)", authorID)) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, query)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -836,21 +721,16 @@ int PullAuthorData(char* strings[4], int authorID, MYSQL* con) exit(1); } - // Free the memory of the query string free(query); - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); - // For all rows (only one ;P) MYSQL_ROW row; - while ((row = mysql_fetch_row(result))) + if ((row = mysql_fetch_row(result))) { - // For all fields in row for(int i = 0; i < num_fields; i++) { - // 'return' the output strings[i] = row[i]; } @@ -874,7 +754,6 @@ int ChangeAuthor(int postID, int authorID, MYSQL* con) postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, selectQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -882,32 +761,26 @@ int ChangeAuthor(int postID, int authorID, MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); MYSQL_ROW row; - int postFound = 1; - if (mysql_fetch_row(result) == NULL) { - postFound = 0; + free(selectQuery); + return postID; } free(selectQuery); char* updateQuery; - if (!postFound) { return postID; } - - // Build a query if (0 > asprintf(&updateQuery, "UPDATE blog_posts SET author_id=(%d) WHERE id=(%d)", authorID, postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, updateQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -934,7 +807,6 @@ int TogglePost(int postID, MYSQL* con) postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, selectQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -942,7 +814,6 @@ int TogglePost(int postID, MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); @@ -958,14 +829,11 @@ int TogglePost(int postID, MYSQL* con) free(selectQuery); char* updateQuery; - - // Build a query if (0 > asprintf(&updateQuery, "UPDATE blog_posts SET state=(%d) WHERE id=(%d)", !state, postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, updateQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -992,7 +860,6 @@ bool IsEnabled(int postID, MYSQL* con) postID )) exit(1); - // Query the server, if successful continue, else throw error if (mysql_query(con, selectQuery)) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -1000,7 +867,6 @@ bool IsEnabled(int postID, MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); int num_fields = mysql_num_fields(result); @@ -1021,7 +887,6 @@ bool IsEnabled(int postID, MYSQL* con) // Returns the count, and pass an array of IDs for all posts by reference, // the last element in the array is set to be negative as to prevent going into unallocated data. -// Remember to free() the returned array int PostIDs(int** arr, MYSQL* con) { if (con == NULL) @@ -1029,7 +894,6 @@ int PostIDs(int** arr, MYSQL* con) con = conn2maria(); } - // Query the server, if successful continue, else throw error if (mysql_query(con, "SELECT COUNT(*) FROM blog_posts")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -1037,17 +901,14 @@ int PostIDs(int** arr, MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); MYSQL_ROW row; row = mysql_fetch_row(result); - // Get the Count int count = atoi(row[0]); free(result); - // Query the server, if successful continue, else throw error if (mysql_query(con, "SELECT id FROM blog_posts")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -1057,18 +918,13 @@ int PostIDs(int** arr, MYSQL* con) MYSQL_RES *result2 = mysql_store_result(con); - // Allocate the array that was passed by reference - // To be one larger than I need. + // Allocate the array that was passed by reference to be one larger than needed *arr = (int *)malloc(sizeof(int) * (count + 1)); - // loop count times. for (int i = 0; i < count; ++i) { - //Get row row = mysql_fetch_row(result2); - // If the row exists (I counted them, so it must exist.) if (row != NULL) { - // Set the i-th element of the array, that was passed by reference, to be the current row's ID *(*arr + i) = atoi(row[0]); } } @@ -1078,13 +934,11 @@ int PostIDs(int** arr, MYSQL* con) // Enters unknown memory. *(*arr + count) = -1; - // Return the count, for easy looping. return count; } // Returns the count, and pass an array of IDs for all the posts that have state=0 by reference, // the last element in the array is set to be negative as to prevent going into unallocated data. -// Remember to free() the returned array int ActivePostIDs(int** arr, MYSQL* con) { if (con == NULL) @@ -1092,7 +946,6 @@ int ActivePostIDs(int** arr, MYSQL* con) con = conn2maria(); } - // Query the server, if successful continue, else throw error if (mysql_query(con, "SELECT COUNT(*) FROM blog_posts WHERE state=(0)")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -1100,17 +953,14 @@ int ActivePostIDs(int** arr, MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); MYSQL_ROW row; row = mysql_fetch_row(result); - // Get the Count int count = atoi(row[0]); free(result); - // Query the server, if successful continue, else throw error if (mysql_query(con, "SELECT id FROM blog_posts WHERE state=(0)")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -1120,18 +970,13 @@ int ActivePostIDs(int** arr, MYSQL* con) MYSQL_RES *result2 = mysql_store_result(con); - // Allocate the array that was passed by reference - // To be one larger than I need. + // Allocate the array that was passed by reference to be one larger than needed *arr = (int *)malloc(sizeof(int) * (count + 1)); - // loop count times. for (int i = 0; i < count; ++i) { - //Get row row = mysql_fetch_row(result2); - // If the row exists (I counted them, so it must exist.) if (row != NULL) { - // Set the i-th element of the array, that was passed by reference, to be the current row's ID *(*arr + i) = atoi(row[0]); } } @@ -1141,13 +986,11 @@ int ActivePostIDs(int** arr, MYSQL* con) // Enters unknown memory. *(*arr + count) = -1; - // Return the count, for easy looping. return count; } // Returns the count, and pass an array of IDs for all authors by reference, // the last element in the array is set to be negative as to prevent going into unallocated data. -// Remember to free() the returned array int AuthorIDs(int** arr, MYSQL* con) { if (con == NULL) @@ -1155,7 +998,6 @@ int AuthorIDs(int** arr, MYSQL* con) con = conn2maria(); } - // Query the server, if successful continue, else throw error if (mysql_query(con, "SELECT COUNT(*) FROM people")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -1163,17 +1005,14 @@ int AuthorIDs(int** arr, MYSQL* con) exit(1); } - // Get results MYSQL_RES *result = mysql_store_result(con); MYSQL_ROW row; row = mysql_fetch_row(result); - // Get the Count int count = atoi(row[0]); free(result); - // Query the server, if successful continue, else throw error if (mysql_query(con, "SELECT id FROM people")) { fprintf(stderr, "%s\n", mysql_error(con)); @@ -1183,18 +1022,13 @@ int AuthorIDs(int** arr, MYSQL* con) MYSQL_RES *result2 = mysql_store_result(con); - // Allocate the array that was passed by reference - // To be one larger than I need. + // Allocate the array that was passed by reference to be one larger than needed *arr = (int *)malloc(sizeof(int) * (count + 1)); - // loop count times. for (int i = 0; i < count; ++i) { - //Get row row = mysql_fetch_row(result2); - // If the row exists (I counted them, so it must exist.) if (row != NULL) { - // Set the i-th element of the array, that was passed by reference, to be the current row's ID *(*arr + i) = atoi(row[0]); } } @@ -1204,7 +1038,6 @@ int AuthorIDs(int** arr, MYSQL* con) // Enters unknown memory. *(*arr + count) = -1; - // Return the count, for easy looping. return count; } @@ -1341,7 +1174,7 @@ int main(int argc, char *argv[]) free(dates); // =================================== - */ + */ // Open the connection MYSQL *con = conn2maria();