From 2e2c2afe7aff64ed6d6e33f8894c72ee16db0169 Mon Sep 17 00:00:00 2001 From: OusmBlueNinja <89956790+OusmBlueNinja@users.noreply.github.com> Date: Wed, 9 Apr 2025 11:29:19 -0500 Subject: [PATCH] Updated API and made it faster, and suports more features --- a.exe | Bin 276051 -> 458251 bytes examples/test.c | 217 ++++++++++++++++--- examples/units.c | 459 +++++++++-------------------------------- include/cyaml.h | 527 ++++++++++++++++++++++++++++++++--------------- users.yaml | 0 5 files changed, 660 insertions(+), 543 deletions(-) create mode 100644 users.yaml diff --git a/a.exe b/a.exe index 6f5a295ec295d08f348fb02cfbf60c37a594cf80..00914aec468553b42adac6a103e60e0484c2b5a1 100644 GIT binary patch literal 458251 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 z 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 |`NmyWcR$*B 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 delta 58675 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 diff --git a/examples/test.c b/examples/test.c index 1432ec1..3586916 100644 --- a/examples/test.c +++ b/examples/test.c @@ -1,31 +1,198 @@ -#define CYAML_IMPLEMENTATION -#include "../include/cyaml.h" #include +#include +#include + +#define YAML_IMPLEMENTATION +#include "../include/cyaml.h" + +// Define a simple User struct. +typedef struct { + int id; + char name[100]; + char email[100]; +} User; + +#define MAX_USERS 100 + +User users[MAX_USERS]; +size_t user_count = 0; + +// Display the list of users. +void list_users(void) { + printf("\n-- User Database --\n"); + if (user_count == 0) { + printf("No users found.\n"); + return; + } + for (size_t i = 0; i < user_count; i++) { + printf("ID %d: %s, %s\n", users[i].id, users[i].name, users[i].email); + } +} + +// Save the in-memory user database to a YAML file. +// The output YAML file will have a mapping with the key "users" +// which contains a sequence of mappings (each representing a user). +int save_to_file(const char *filename) { + // Create a new document with a mapping as root. + YAMLDoc *doc = (YAMLDoc*)malloc(sizeof(YAMLDoc)); + if (!doc) return -1; + doc->root = yaml_new_map(); + if (!doc->root) { + free(doc); + return -1; + } + + // Create a sequence to hold all user mappings. + YAMLNode *userSeq = yaml_new_seq(); + if (!userSeq) { + yaml_doc_destroy(doc); + return -1; + } + + // For each user, create a mapping and add it to the sequence. + for (size_t i = 0; i < user_count; i++) { + YAMLNode *userMap = yaml_new_map(); + char idStr[20]; + snprintf(idStr, sizeof(idStr), "%d", users[i].id); + yaml_map_set(userMap, "id", yaml_new_str(idStr)); + yaml_map_set(userMap, "name", yaml_new_str(users[i].name)); + yaml_map_set(userMap, "email", yaml_new_str(users[i].email)); + yaml_seq_append(userSeq, userMap); + } + yaml_map_set(doc->root, "users", userSeq); + + // Create an emitter and write the document to the file. + YAMLEmitter *emitter = yaml_emitter_create(); + if (!emitter) { + yaml_doc_destroy(doc); + return -1; + } + if (yaml_emit(emitter, doc) != 0) { + yaml_emitter_destroy(emitter); + yaml_doc_destroy(doc); + return -1; + } + int ret = yaml_emit_to_file(emitter, filename); + + // Clean up. + yaml_emitter_destroy(emitter); + yaml_doc_destroy(doc); + return ret; +} + +// Add a new user via CLI. +void add_user(void) { + if (user_count >= MAX_USERS) { + printf("User database is full.\n"); + return; + } + User newUser; + newUser.id = user_count + 1; // Simple sequential id assignment. + + printf("Enter user name: "); + if (!fgets(newUser.name, sizeof(newUser.name), stdin)) { + printf("Error reading name.\n"); + return; + } + newUser.name[strcspn(newUser.name, "\n")] = '\0'; // Remove newline. + + printf("Enter user email: "); + if (!fgets(newUser.email, sizeof(newUser.email), stdin)) { + printf("Error reading email.\n"); + return; + } + newUser.email[strcspn(newUser.email, "\n")] = '\0'; + + users[user_count++] = newUser; + printf("User added successfully.\n"); +} + +// Edit an existing user via CLI. +void edit_user(void) { + list_users(); + printf("Enter the user ID to edit: "); + int id; + if (scanf("%d", &id) != 1) { + printf("Invalid input.\n"); + while(getchar() != '\n'); // Flush input buffer. + return; + } + while(getchar() != '\n'); // Consume newline. + + int found = 0; + for (size_t i = 0; i < user_count; i++) { + if (users[i].id == id) { + found = 1; + printf("Editing user (ID %d): %s, %s\n", users[i].id, users[i].name, users[i].email); + printf("Enter new name (leave empty to keep unchanged): "); + char newName[100]; + if (fgets(newName, sizeof(newName), stdin)) { + newName[strcspn(newName, "\n")] = '\0'; + if (strlen(newName) > 0) + strncpy(users[i].name, newName, sizeof(users[i].name)); + } + printf("Enter new email (leave empty to keep unchanged): "); + char newEmail[100]; + if (fgets(newEmail, sizeof(newEmail), stdin)) { + newEmail[strcspn(newEmail, "\n")] = '\0'; + if (strlen(newEmail) > 0) + strncpy(users[i].email, newEmail, sizeof(users[i].email)); + } + printf("User updated successfully.\n"); + break; + } + } + if (!found) + printf("User with ID %d not found.\n", id); +} int main(void) { - // Load a YAML document from a string. - cyaml_document_t *doc = cyaml_load_string("example: Hello, cyaml!"); - if (!doc) { - fprintf(stderr, "Failed to load YAML.\n"); - return 1; + int running = 1; + while (running) { + printf("\n--- User Database CLI ---\n"); + printf("1. List users\n"); + printf("2. Add user\n"); + printf("3. Edit user\n"); + printf("4. Save database to file\n"); + printf("5. Exit\n"); + printf("Enter choice: "); + + int choice; + if (scanf("%d", &choice) != 1) { + printf("Invalid input. Please enter a number.\n"); + while(getchar() != '\n'); // Clear the invalid input. + continue; + } + while(getchar() != '\n'); // Consume newline. + + switch (choice) { + case 1: + list_users(); + break; + case 2: + add_user(); + break; + case 3: + edit_user(); + break; + case 4: { + char filename[256]; + printf("Enter filename to save the database: "); + if (fgets(filename, sizeof(filename), stdin)) { + filename[strcspn(filename, "\n")] = '\0'; + if (save_to_file(filename) == 0) + printf("Database saved successfully to '%s'.\n", filename); + else + printf("Error saving database to '%s'.\n", filename); + } + break; + } + case 5: + running = 0; + break; + default: + printf("Invalid choice. Please try again.\n"); + } } - - // Get and print the root node's scalar value. - const cyaml_node_t *root = cyaml_document_get_root(doc); - if (root && cyaml_node_get_type(root) == CYAML_NODE_SCALAR) { - printf("YAML Content: %s\n", cyaml_node_as_string(root)); - } - - // Create an emitter and output the document. - cyaml_emitter_t *emitter = cyaml_emitter_create(); - if (cyaml_emitter_emit(emitter, doc) == 0) { - char *output = cyaml_emitter_to_string(emitter); - printf("Emitted YAML:\n%s\n", output); - free(output); - } - - // Cleanup. - cyaml_emitter_destroy(emitter); - cyaml_document_destroy(doc); return 0; } diff --git a/examples/units.c b/examples/units.c index 7b9f509..06f746b 100644 --- a/examples/units.c +++ b/examples/units.c @@ -2,363 +2,110 @@ #include #include -#define CYAML_IMPLEMENTATION -#include "../include/cyaml.h" // Adjust this path as needed +#define YAML_IMPLEMENTATION +#include "../include/cyaml.h" -/* ANSI color definitions for pretty terminal output */ -#define COLOR_RED "\033[31m" -#define COLOR_GREEN "\033[32m" -#define COLOR_YELLOW "\033[33m" -#define COLOR_RESET "\033[0m" - -/* Global counters for tests */ -static int tests_passed = 0; -static int tests_run = 0; - -/* Test assertion macro */ -#define TEST_ASSERT(cond, msg) do { \ - tests_run++; \ - if (!(cond)) { \ - printf(COLOR_RED "[FAIL]" COLOR_RESET " %s\n", msg); \ - } else { \ - tests_passed++; \ - printf(COLOR_GREEN "[PASS]" COLOR_RESET " %s\n", msg); \ - } \ -} while(0) - -/*--------------------------------------------------------- - * Utility Functions to Clean Up Manually Created Nodes - * (These are needed because our cyaml library currently - * only auto-frees scalar nodes from cyaml_load_* functions.) - *---------------------------------------------------------*/ -static void free_mapping_node(cyaml_node_t *node) { - if (node->keys) { - for (size_t i = 0; i < node->mapping_size; i++) { - free(node->keys[i]); - } - free(node->keys); - } - if (node->values) { - for (size_t i = 0; i < node->mapping_size; i++) { - if (node->values[i]) { - if (node->values[i]->scalar) - free(node->values[i]->scalar); - free(node->values[i]); - } - } - free(node->values); - } - free(node); -} - -static void free_sequence_node(cyaml_node_t *node) { - if (node->sequence) { - for (size_t i = 0; i < node->sequence_size; i++) { - if (node->sequence[i]) { - if (node->sequence[i]->scalar) - free(node->sequence[i]->scalar); - free(node->sequence[i]); - } - } - free(node->sequence); - } - free(node); -} - -/*--------------------------------------------------------- - * Test 1: Load YAML String (Scalar) - *---------------------------------------------------------*/ -void test_load_string() { - const char *yaml = "Hello, cyaml!"; - cyaml_document_t *doc = cyaml_load_string(yaml); - TEST_ASSERT(doc != NULL, "cyaml_load_string should not return NULL"); - - if (doc) { - const cyaml_node_t *root = cyaml_document_get_root(doc); - TEST_ASSERT(root != NULL, "Root node should not be NULL"); - - if (root) { - const char *str = cyaml_node_as_string(root); - TEST_ASSERT(str != NULL, "Root node should be a scalar string"); - if (str) { - TEST_ASSERT(strcmp(str, yaml) == 0, "Scalar value should match input string"); - } - } - cyaml_document_destroy(doc); - } -} - -/*--------------------------------------------------------- - * Test 2: Emitter for Scalar YAML - *---------------------------------------------------------*/ -void test_emitter_scalar() { - const char *yaml = "Emitter Test!"; - cyaml_document_t *doc = cyaml_load_string(yaml); - TEST_ASSERT(doc != NULL, "cyaml_load_string for emitter test should not return NULL"); - - if (doc) { - cyaml_emitter_t *emitter = cyaml_emitter_create(); - TEST_ASSERT(emitter != NULL, "cyaml_emitter_create should not return NULL"); - - if (emitter) { - int emit_result = cyaml_emitter_emit(emitter, doc); - TEST_ASSERT(emit_result == 0, "cyaml_emitter_emit should succeed"); - - char *emitted_str = cyaml_emitter_to_string(emitter); - TEST_ASSERT(emitted_str != NULL, "cyaml_emitter_to_string should not return NULL"); - if (emitted_str) { - TEST_ASSERT(strcmp(emitted_str, yaml) == 0, "Emitted YAML should match original scalar"); - free(emitted_str); - } - cyaml_emitter_destroy(emitter); - } - cyaml_document_destroy(doc); - } -} - -/*--------------------------------------------------------- - * Test 3: Load YAML from a File (Scalar) - *---------------------------------------------------------*/ -void test_load_file() { - const char *filename = "test.yaml"; - const char *yaml = "File Test!"; - - /* Create a temporary file with YAML content */ - FILE *file = fopen(filename, "w"); - if (!file) { - printf(COLOR_YELLOW "Warning: Could not create temporary test file.\n" COLOR_RESET); - return; - } - fputs(yaml, file); - fclose(file); - - cyaml_document_t *doc = cyaml_load_file(filename); - TEST_ASSERT(doc != NULL, "cyaml_load_file should not return NULL"); - - if (doc) { - const cyaml_node_t *root = cyaml_document_get_root(doc); - TEST_ASSERT(root != NULL, "Root node from file should not be NULL"); - if (root) { - const char *str = cyaml_node_as_string(root); - TEST_ASSERT(str != NULL, "Root node from file should be a scalar string"); - if (str) { - TEST_ASSERT(strcmp(str, yaml) == 0, "File content should match expected YAML"); - } - } - cyaml_document_destroy(doc); - } - - /* Remove the temporary file */ - remove(filename); -} - -/*--------------------------------------------------------- - * Test 4: Numeric Conversions - *---------------------------------------------------------*/ -void test_numeric_conversion() { - // Integer conversion test - const char *int_str = "12345"; - cyaml_document_t *doc_int = cyaml_load_string(int_str); - TEST_ASSERT(doc_int != NULL, "Load integer string for conversion"); - if (doc_int) { - const cyaml_node_t *node = cyaml_document_get_root(doc_int); - int value = cyaml_node_as_int(node); - TEST_ASSERT(value == 12345, "Integer conversion: value should be 12345"); - cyaml_document_destroy(doc_int); - } - - // Double conversion test - const char *double_str = "3.14159"; - cyaml_document_t *doc_double = cyaml_load_string(double_str); - TEST_ASSERT(doc_double != NULL, "Load double string for conversion"); - if (doc_double) { - const cyaml_node_t *node = cyaml_document_get_root(doc_double); - double dvalue = cyaml_node_as_double(node); - TEST_ASSERT(dvalue > 3.14158 && dvalue < 3.14160, "Double conversion: value should be approx 3.14159"); - cyaml_document_destroy(doc_double); - } -} - -/*--------------------------------------------------------- - * Test 5: Mapping Node Functionality - *---------------------------------------------------------*/ -void test_mapping_node() { - // Manually create a mapping node document - cyaml_document_t *doc = (cyaml_document_t*)malloc(sizeof(cyaml_document_t)); - doc->root = (cyaml_node_t*)malloc(sizeof(cyaml_node_t)); - cyaml_node_t *map = doc->root; - map->type = CYAML_NODE_MAPPING; - map->mapping_size = 3; - map->keys = (char**)malloc(sizeof(char*) * 3); - map->values = (cyaml_node_t**)malloc(sizeof(cyaml_node_t*) * 3); - - // Key-value pair 1: "name": "cyaml" - map->keys[0] = strdup("name"); - map->values[0] = (cyaml_node_t*)malloc(sizeof(cyaml_node_t)); - map->values[0]->type = CYAML_NODE_SCALAR; - map->values[0]->scalar = strdup("cyaml"); - - // Key-value pair 2: "version": "1.0" - map->keys[1] = strdup("version"); - map->values[1] = (cyaml_node_t*)malloc(sizeof(cyaml_node_t)); - map->values[1]->type = CYAML_NODE_SCALAR; - map->values[1]->scalar = strdup("1.0"); - - // Key-value pair 3: "count": "42" - map->keys[2] = strdup("count"); - map->values[2] = (cyaml_node_t*)malloc(sizeof(cyaml_node_t)); - map->values[2]->type = CYAML_NODE_SCALAR; - map->values[2]->scalar = strdup("42"); - - TEST_ASSERT(cyaml_node_size(map) == 3, "Mapping node size should be 3"); - - const cyaml_node_t *node_name = cyaml_node_get(map, "name"); - TEST_ASSERT(node_name != NULL, "Mapping node: key 'name' should exist"); - if (node_name) { - TEST_ASSERT(strcmp(cyaml_node_as_string(node_name), "cyaml") == 0, "Mapping node: 'name' value should be 'cyaml'"); - } - - const cyaml_node_t *node_version = cyaml_node_get(map, "version"); - TEST_ASSERT(node_version != NULL, "Mapping node: key 'version' should exist"); - if (node_version) { - TEST_ASSERT(strcmp(cyaml_node_as_string(node_version), "1.0") == 0, "Mapping node: 'version' value should be '1.0'"); - } - - const cyaml_node_t *node_count = cyaml_node_get(map, "count"); - TEST_ASSERT(node_count != NULL, "Mapping node: key 'count' should exist"); - if (node_count) { - int count = cyaml_node_as_int(node_count); - TEST_ASSERT(count == 42, "Mapping node: 'count' value should be 42"); - } - - // Clean up manually created mapping node - free_mapping_node(map); - free(doc); -} - -/*--------------------------------------------------------- - * Test 6: Sequence Node Functionality - *---------------------------------------------------------*/ -void test_sequence_node() { - // Manually create a sequence node document - cyaml_document_t *doc = (cyaml_document_t*)malloc(sizeof(cyaml_document_t)); - doc->root = (cyaml_node_t*)malloc(sizeof(cyaml_node_t)); - cyaml_node_t *seq = doc->root; - seq->type = CYAML_NODE_SEQUENCE; - seq->sequence_size = 4; - seq->sequence = (cyaml_node_t**)malloc(sizeof(cyaml_node_t*) * 4); - - const char *items[] = { "one", "two", "three", "four" }; - for (size_t i = 0; i < 4; i++) { - seq->sequence[i] = (cyaml_node_t*)malloc(sizeof(cyaml_node_t)); - seq->sequence[i]->type = CYAML_NODE_SCALAR; - seq->sequence[i]->scalar = strdup(items[i]); - } - - TEST_ASSERT(cyaml_node_size(seq) == 4, "Sequence node size should be 4"); - for (size_t i = 0; i < 4; i++) { - const cyaml_node_t *item = cyaml_node_index(seq, i); - char msg[128]; - snprintf(msg, sizeof(msg), "Sequence node: item %zu should not be NULL", i); - TEST_ASSERT(item != NULL, msg); - if (item) { - snprintf(msg, sizeof(msg), "Sequence node: item %zu should equal '%s'", i, items[i]); - TEST_ASSERT(strcmp(cyaml_node_as_string(item), items[i]) == 0, msg); - } - } - - // Clean up manually created sequence node - free_sequence_node(seq); - free(doc); -} - -/*--------------------------------------------------------- - * Test 7: Bulk YAML String Loading (100 iterations) - *---------------------------------------------------------*/ -void test_bulk_load_string() { - for (int i = 0; i < 100; i++) { - char buffer[64]; - snprintf(buffer, sizeof(buffer), "Bulk test %d", i); - cyaml_document_t *doc = cyaml_load_string(buffer); - char test_msg[128]; - snprintf(test_msg, sizeof(test_msg), "Bulk load string test %d: document should not be NULL", i); - TEST_ASSERT(doc != NULL, test_msg); - if (doc) { - const cyaml_node_t *root = cyaml_document_get_root(doc); - snprintf(test_msg, sizeof(test_msg), "Bulk load string test %d: root should not be NULL", i); - TEST_ASSERT(root != NULL, test_msg); - if (root) { - snprintf(test_msg, sizeof(test_msg), "Bulk load string test %d: value should match", i); - TEST_ASSERT(strcmp(cyaml_node_as_string(root), buffer) == 0, test_msg); - } - cyaml_document_destroy(doc); - } - } -} - -/*--------------------------------------------------------- - * Test 8: Bulk File Read/Write (20 iterations) - *---------------------------------------------------------*/ -void test_bulk_file_rw() { - for (int i = 0; i < 20; i++) { - char filename[64]; - char content[64]; - snprintf(filename, sizeof(filename), "temp_test_%d.yaml", i); - snprintf(content, sizeof(content), "File bulk test %d", i); - - /* Write to file */ - FILE *file = fopen(filename, "w"); - if (!file) { - printf(COLOR_YELLOW "Warning: Could not create temporary file %s.\n" COLOR_RESET, filename); - continue; - } - fputs(content, file); - fclose(file); - - /* Read file and validate */ - cyaml_document_t *doc = cyaml_load_file(filename); - char test_msg[128]; - snprintf(test_msg, sizeof(test_msg), "Bulk file test %d: document should not be NULL", i); - TEST_ASSERT(doc != NULL, test_msg); - if (doc) { - const cyaml_node_t *root = cyaml_document_get_root(doc); - snprintf(test_msg, sizeof(test_msg), "Bulk file test %d: root should not be NULL", i); - TEST_ASSERT(root != NULL, test_msg); - if (root) { - snprintf(test_msg, sizeof(test_msg), "Bulk file test %d: content should match", i); - TEST_ASSERT(strcmp(cyaml_node_as_string(root), content) == 0, test_msg); - } - cyaml_document_destroy(doc); - } - - /* Remove the temporary file */ - remove(filename); - } -} - -/*--------------------------------------------------------- - * Main Function: Run All Tests and Display Summary - *---------------------------------------------------------*/ int main(void) { - printf("========================================\n"); - printf(" " COLOR_YELLOW "cyaml Unit Test Suite" COLOR_RESET "\n"); - printf("========================================\n\n"); + int fail_count = 0; + + // --- Unit Test 1: Building and Emitting a YAML Document --- + printf("Unit Test 1: Document creation and emission\n"); + + // Create a new document with a mapping as the root. + YAMLDoc *doc = (YAMLDoc*)malloc(sizeof(YAMLDoc)); + if (!doc) { + fprintf(stderr, "Memory allocation failure.\n"); + return EXIT_FAILURE; + } + doc->root = yaml_new_map(); + if (!doc->root) { + fprintf(stderr, "Failed to create root node.\n"); + free(doc); + return EXIT_FAILURE; + } + + // Set "name" to a scalar value. + if (yaml_map_set(doc->root, "name", yaml_new_str("Alice")) != 0) { + fprintf(stderr, "Error setting key 'name'.\n"); + yaml_doc_destroy(doc); + return EXIT_FAILURE; + } + + // Create a sequence for "skills". + YAMLNode *skills = yaml_new_seq(); + if (!skills) { + fprintf(stderr, "Failed to create skills sequence.\n"); + yaml_doc_destroy(doc); + return EXIT_FAILURE; + } + yaml_seq_append(skills, yaml_new_str("C")); + yaml_seq_append(skills, yaml_new_str("Python")); + if (yaml_map_set(doc->root, "skills", skills) != 0) { + fprintf(stderr, "Error setting key 'skills'.\n"); + yaml_doc_destroy(doc); + return EXIT_FAILURE; + } + + // Emit the document. + YAMLEmitter *emitter = yaml_emitter_create(); + if (!emitter) { + fprintf(stderr, "Failed to create emitter.\n"); + yaml_doc_destroy(doc); + return EXIT_FAILURE; + } + if (yaml_emit(emitter, doc) != 0) { + fprintf(stderr, "Error emitting YAML document.\n"); + yaml_emitter_destroy(emitter); + yaml_doc_destroy(doc); + return EXIT_FAILURE; + } + char *output = yaml_emit_to_str(emitter); + if (!output) { + fprintf(stderr, "Failed to retrieve emitter string.\n"); + yaml_emitter_destroy(emitter); + yaml_doc_destroy(doc); + return EXIT_FAILURE; + } + printf("Emitted YAML:\n%s\n", output); + + // Check expected content. + if (strstr(output, "Alice") == NULL || + strstr(output, "skills") == NULL || + strstr(output, "- Python") == NULL) + { + printf("Unit Test 1 Failed: Emitted YAML output is missing expected content.\n"); + fail_count++; + } else { + printf("Unit Test 1 Passed.\n"); + } - test_load_string(); - test_emitter_scalar(); - test_load_file(); - test_numeric_conversion(); - test_mapping_node(); - test_sequence_node(); - test_bulk_load_string(); - test_bulk_file_rw(); - - printf("\n========================================\n"); - printf("Test Summary:\n"); - printf("Total tests run: %d\n", tests_run); - printf(COLOR_GREEN "Passed: %d" COLOR_RESET "\n", tests_passed); - printf(COLOR_RED "Failed: %d" COLOR_RESET "\n", tests_run - tests_passed); - printf("========================================\n"); - - return (tests_run - tests_passed) == 0 ? EXIT_SUCCESS : EXIT_FAILURE; + free(output); + yaml_emitter_destroy(emitter); + yaml_doc_destroy(doc); + + // --- Unit Test 2: Loading a YAML Document from a String --- + printf("\nUnit Test 2: YAML load from string\n"); + const char *yaml_input = "Hello YAML!\nThis is a test."; + YAMLDoc *doc2 = yaml_load_str(yaml_input); + if (!doc2) { + fprintf(stderr, "Error loading YAML from string.\n"); + return EXIT_FAILURE; + } + const YAMLNode *root2 = yaml_doc_root(doc2); + if (!root2 || strcmp(yaml_as_str(root2), yaml_input) != 0) { + printf("Unit Test 2 Failed: Loaded YAML does not match input string.\n"); + fail_count++; + } else { + printf("Unit Test 2 Passed.\n"); + } + yaml_doc_destroy(doc2); + + // --- Finalize Unit Tests --- + if (fail_count == 0) { + printf("\nAll unit tests passed successfully.\n"); + return EXIT_SUCCESS; + } else { + printf("\n%d unit test(s) failed.\n", fail_count); + return EXIT_FAILURE; + } } diff --git a/include/cyaml.h b/include/cyaml.h index e54f93f..9e19f4b 100644 --- a/include/cyaml.h +++ b/include/cyaml.h @@ -1,5 +1,5 @@ -#ifndef CYAML_H -#define CYAML_H +#ifndef YAML_H +#define YAML_H #ifdef __cplusplus extern "C" { @@ -7,124 +7,164 @@ extern "C" { #include -/* --- API Declarations --- */ - -// Forward declarations for opaque types. -typedef struct cyaml_node_t cyaml_node_t; -typedef struct cyaml_document_t cyaml_document_t; -typedef struct cyaml_emitter_t cyaml_emitter_t; +/* --- Public Types --- */ // Node types. typedef enum { - CYAML_NODE_UNDEFINED, - CYAML_NODE_SCALAR, - CYAML_NODE_SEQUENCE, - CYAML_NODE_MAPPING -} cyaml_node_type_t; + YAML_UNDEF, // Undefined + YAML_STR, // Scalar string + YAML_SEQ, // Sequence (list) + YAML_MAP // Mapping (dictionary) +} YAMLType; -/* Document Loading and Parsing */ +// Opaque types. +typedef struct YAMLNode YAMLNode; +typedef struct YAMLDoc YAMLDoc; +typedef struct YAMLEmitter YAMLEmitter; -// Load YAML document from a file. -// Returns a pointer to a cyaml_document_t or NULL on error. -cyaml_document_t* cyaml_load_file(const char *filename); +/* --- Document Loading and Parsing --- */ -// Load YAML document from a string. -// Returns a pointer to a cyaml_document_t or NULL on error. -cyaml_document_t* cyaml_load_string(const char *yaml_string); +// Load a YAML document from a file. For demonstration, the file content is treated as a scalar. +YAMLDoc* yaml_load_file(const char *filename); -// Free the document and all associated nodes. -void cyaml_document_destroy(cyaml_document_t *doc); +// Load a YAML document from a string. (Currently, the entire string is parsed as a scalar.) +YAMLDoc* yaml_load_str(const char *yaml_string); + +// Destroy the document and free all associated memory. +void yaml_doc_destroy(YAMLDoc *doc); // Get the root node of the document. -const cyaml_node_t* cyaml_document_get_root(const cyaml_document_t *doc); +const YAMLNode* yaml_doc_root(const YAMLDoc *doc); -/* Node Querying and Access */ +/* --- Node Querying and Access --- */ -// Get the type of a node. -cyaml_node_type_t cyaml_node_get_type(const cyaml_node_t *node); +// Get the type of a YAML node. +YAMLType yaml_node_type(const YAMLNode *node); -// For scalar nodes: retrieve as a string. Returns NULL if not convertible. -const char* cyaml_node_as_string(const cyaml_node_t *node); +// Retrieve the scalar value of a node (if it is a scalar), or NULL. +const char* yaml_as_str(const YAMLNode *node); -// For scalar nodes: retrieve as an integer. -int cyaml_node_as_int(const cyaml_node_t *node); +// Convert a scalar node to int. Returns 0 if not a scalar. +int yaml_as_int(const YAMLNode *node); -// For scalar nodes: retrieve as a double. -double cyaml_node_as_double(const cyaml_node_t *node); +// Convert a scalar node to double. Returns 0.0 if not a scalar. +double yaml_as_double(const YAMLNode *node); -// For mapping nodes: retrieve a child node by key. Returns NULL if not found. -const cyaml_node_t* cyaml_node_get(const cyaml_node_t *node, const char *key); +// For mapping nodes: get a child node by key (returns NULL if not found). +const YAMLNode* yaml_map_get(const YAMLNode *node, const char *key); // For sequence nodes: return the number of child nodes. -size_t cyaml_node_size(const cyaml_node_t *node); +size_t yaml_seq_size(const YAMLNode *node); -// For sequence nodes: retrieve a child node by index. -const cyaml_node_t* cyaml_node_index(const cyaml_node_t *node, size_t index); +// For sequence nodes: retrieve a child node by index (returns NULL if out of range). +const YAMLNode* yaml_seq_index(const YAMLNode *node, size_t index); -/* Emitting YAML */ +/* --- Node Creation and Modification --- */ -// Create an emitter object. -cyaml_emitter_t* cyaml_emitter_create(void); +// Create a new scalar node with the given string value. +YAMLNode* yaml_new_str(const char *value); -// Emit a document into the emitter's internal buffer. -int cyaml_emitter_emit(cyaml_emitter_t *emitter, const cyaml_document_t *doc); +// Create a new, empty sequence node. +YAMLNode* yaml_new_seq(void); -// Write the emitter's contents to a file. -// Returns 0 on success, non-zero on error. -int cyaml_emitter_to_file(cyaml_emitter_t *emitter, const char *filename); +// Create a new, empty mapping node. +YAMLNode* yaml_new_map(void); -// Retrieve a string copy of the emitter's contents. -// The caller is responsible for freeing the returned string. -char* cyaml_emitter_to_string(cyaml_emitter_t *emitter); +// Append a child node to a sequence node. +int yaml_seq_append(YAMLNode *node, YAMLNode *child); -// Destroy the emitter and free associated memory. -void cyaml_emitter_destroy(cyaml_emitter_t *emitter); +// Set a key/value pair in a mapping node (the key is copied). +int yaml_map_set(YAMLNode *node, const char *key, YAMLNode *child); + +// Recursively free a YAML node and its children. +void yaml_node_destroy(YAMLNode *node); + +/* --- YAML Emitting --- */ + +// Create a new YAML emitter. +YAMLEmitter* yaml_emitter_create(void); + +// Emit the YAML document into the emitter's buffer. +int yaml_emit(YAMLEmitter *emitter, const YAMLDoc *doc); + +// Write the emitter's content to a file (returns 0 on success). +int yaml_emit_to_file(YAMLEmitter *emitter, const char *filename); + +// Get a string copy of the emitter's buffer (caller must free it). +char* yaml_emit_to_str(YAMLEmitter *emitter); + +// Destroy the emitter and free its memory. +void yaml_emitter_destroy(YAMLEmitter *emitter); #ifdef __cplusplus } #endif /* --- Implementation --- */ -/* To include the implementation, define CYAML_IMPLEMENTATION in *one* source file before including "cyaml.h". */ +/* To compile the implementation, define YAML_IMPLEMENTATION in one source file before including "yaml.h". */ -#ifdef CYAML_IMPLEMENTATION +#ifdef YAML_IMPLEMENTATION #include #include #include -/* Internal structures */ +/* --- Internal Structures --- */ -struct cyaml_document_t { - cyaml_node_t *root; +struct YAMLDoc { + YAMLNode *root; }; -struct cyaml_node_t { - cyaml_node_type_t type; - char *scalar; - // For sequence nodes. - cyaml_node_t **sequence; - size_t sequence_size; - // For mapping nodes. +struct YAMLNode { + YAMLType type; + // For scalar nodes: + char *str; + // For sequence nodes: + YAMLNode **seq; + size_t seq_size; + // For mapping nodes: char **keys; - cyaml_node_t **values; - size_t mapping_size; + YAMLNode **vals; + size_t map_size; }; -struct cyaml_emitter_t { +struct YAMLEmitter { char *buffer; size_t size; size_t capacity; }; -#define CYAML_EMITTER_INITIAL_CAPACITY 256 +#define YAMLEMIT_INITIAL_CAPACITY 256 /* --- Document Loading and Parsing --- */ -// Loads the entire file into a buffer and then calls cyaml_load_string(). -cyaml_document_t* cyaml_load_file(const char *filename) { +// For demonstration purposes, our "parser" treats the entire input as a scalar node. +// In a full implementation, you would integrate a complete YAML parser. +YAMLDoc* yaml_load_str(const char *yaml_string) { + if (!yaml_string) + return NULL; + YAMLDoc *doc = (YAMLDoc*)malloc(sizeof(YAMLDoc)); + if (!doc) + return NULL; + doc->root = (YAMLNode*)malloc(sizeof(YAMLNode)); + if (!doc->root) { + free(doc); + return NULL; + } + doc->root->type = YAML_STR; + doc->root->str = strdup(yaml_string); + doc->root->seq = NULL; + doc->root->seq_size = 0; + doc->root->keys = NULL; + doc->root->vals = NULL; + doc->root->map_size = 0; + return doc; +} + +YAMLDoc* yaml_load_file(const char *filename) { FILE *file = fopen(filename, "rb"); - if (!file) return NULL; + if (!file) + return NULL; fseek(file, 0, SEEK_END); long length = ftell(file); rewind(file); @@ -136,160 +176,323 @@ cyaml_document_t* cyaml_load_file(const char *filename) { fread(content, 1, length, file); content[length] = '\0'; fclose(file); - cyaml_document_t *doc = cyaml_load_string(content); + YAMLDoc *doc = yaml_load_str(content); free(content); return doc; } -// For demonstration, cyaml_load_string() creates a document with a single scalar node. -cyaml_document_t* cyaml_load_string(const char *yaml_string) { - cyaml_document_t *doc = (cyaml_document_t*)malloc(sizeof(cyaml_document_t)); - if (!doc) return NULL; - doc->root = (cyaml_node_t*)malloc(sizeof(cyaml_node_t)); - if (!doc->root) { - free(doc); - return NULL; - } - doc->root->type = CYAML_NODE_SCALAR; - doc->root->scalar = strdup(yaml_string); - doc->root->sequence = NULL; - doc->root->sequence_size = 0; - doc->root->keys = NULL; - doc->root->values = NULL; - doc->root->mapping_size = 0; - return doc; -} - -void cyaml_document_destroy(cyaml_document_t *doc) { - if (!doc) return; - // For this demonstration, assume only a scalar root node exists. - if (doc->root) { - if (doc->root->scalar) - free(doc->root->scalar); - free(doc->root); - } +void yaml_doc_destroy(YAMLDoc *doc) { + if (!doc) + return; + if (doc->root) + yaml_node_destroy(doc->root); free(doc); } -const cyaml_node_t* cyaml_document_get_root(const cyaml_document_t *doc) { - if (!doc) return NULL; +const YAMLNode* yaml_doc_root(const YAMLDoc *doc) { + if (!doc) + return NULL; return doc->root; } /* --- Node Querying and Access --- */ -cyaml_node_type_t cyaml_node_get_type(const cyaml_node_t *node) { - if (!node) return CYAML_NODE_UNDEFINED; +YAMLType yaml_node_type(const YAMLNode *node) { + if (!node) + return YAML_UNDEF; return node->type; } -const char* cyaml_node_as_string(const cyaml_node_t *node) { - if (!node || node->type != CYAML_NODE_SCALAR) return NULL; - return node->scalar; +const char* yaml_as_str(const YAMLNode *node) { + if (!node || node->type != YAML_STR) + return NULL; + return node->str; } -int cyaml_node_as_int(const cyaml_node_t *node) { - if (!node || node->type != CYAML_NODE_SCALAR) return 0; - return atoi(node->scalar); +int yaml_as_int(const YAMLNode *node) { + if (!node || node->type != YAML_STR) + return 0; + return atoi(node->str); } -double cyaml_node_as_double(const cyaml_node_t *node) { - if (!node || node->type != CYAML_NODE_SCALAR) return 0.0; - return atof(node->scalar); +double yaml_as_double(const YAMLNode *node) { + if (!node || node->type != YAML_STR) + return 0.0; + return atof(node->str); } -// Dummy mapping lookup: searches keys in a mapping node. -const cyaml_node_t* cyaml_node_get(const cyaml_node_t *node, const char *key) { - if (!node || node->type != CYAML_NODE_MAPPING) return NULL; - for (size_t i = 0; i < node->mapping_size; i++) { - if (strcmp(node->keys[i], key) == 0) { - return node->values[i]; - } +const YAMLNode* yaml_map_get(const YAMLNode *node, const char *key) { + if (!node || node->type != YAML_MAP) + return NULL; + for (size_t i = 0; i < node->map_size; i++) { + if (strcmp(node->keys[i], key) == 0) + return node->vals[i]; } return NULL; } -size_t cyaml_node_size(const cyaml_node_t *node) { - if (!node) return 0; - if (node->type == CYAML_NODE_SEQUENCE) - return node->sequence_size; - if (node->type == CYAML_NODE_MAPPING) - return node->mapping_size; +size_t yaml_seq_size(const YAMLNode *node) { + if (!node || node->type != YAML_SEQ) + return 0; + return node->seq_size; +} + +const YAMLNode* yaml_seq_index(const YAMLNode *node, size_t index) { + if (!node || node->type != YAML_SEQ || index >= node->seq_size) + return NULL; + return node->seq[index]; +} + +/* --- Node Creation and Modification --- */ + +YAMLNode* yaml_new_str(const char *value) { + YAMLNode *node = (YAMLNode*)malloc(sizeof(YAMLNode)); + if (!node) + return NULL; + node->type = YAML_STR; + node->str = strdup(value ? value : ""); + node->seq = NULL; + node->seq_size = 0; + node->keys = NULL; + node->vals = NULL; + node->map_size = 0; + return node; +} + +YAMLNode* yaml_new_seq(void) { + YAMLNode *node = (YAMLNode*)malloc(sizeof(YAMLNode)); + if (!node) + return NULL; + node->type = YAML_SEQ; + node->str = NULL; + node->seq = NULL; + node->seq_size = 0; + node->keys = NULL; + node->vals = NULL; + node->map_size = 0; + return node; +} + +YAMLNode* yaml_new_map(void) { + YAMLNode *node = (YAMLNode*)malloc(sizeof(YAMLNode)); + if (!node) + return NULL; + node->type = YAML_MAP; + node->str = NULL; + node->seq = NULL; + node->seq_size = 0; + node->keys = NULL; + node->vals = NULL; + node->map_size = 0; + return node; +} + +int yaml_seq_append(YAMLNode *node, YAMLNode *child) { + if (!node || node->type != YAML_SEQ) + return -1; + YAMLNode **new_seq = (YAMLNode**)realloc(node->seq, sizeof(YAMLNode*) * (node->seq_size + 1)); + if (!new_seq) + return -1; + node->seq = new_seq; + node->seq[node->seq_size] = child; + node->seq_size++; return 0; } -const cyaml_node_t* cyaml_node_index(const cyaml_node_t *node, size_t index) { - if (!node) return NULL; - if (node->type == CYAML_NODE_SEQUENCE && index < node->sequence_size) - return node->sequence[index]; - return NULL; +int yaml_map_set(YAMLNode *node, const char *key, YAMLNode *child) { + if (!node || node->type != YAML_MAP) + return -1; + // Append new key/value pair + char **new_keys = (char**)realloc(node->keys, sizeof(char*) * (node->map_size + 1)); + if (!new_keys) + return -1; + node->keys = new_keys; + node->keys[node->map_size] = strdup(key); + YAMLNode **new_vals = (YAMLNode**)realloc(node->vals, sizeof(YAMLNode*) * (node->map_size + 1)); + if (!new_vals) + return -1; + node->vals = new_vals; + node->vals[node->map_size] = child; + node->map_size++; + return 0; +} + +void yaml_node_destroy(YAMLNode *node) { + if (!node) + return; + if (node->type == YAML_STR) { + free(node->str); + } else if (node->type == YAML_SEQ) { + for (size_t i = 0; i < node->seq_size; i++) { + yaml_node_destroy(node->seq[i]); + } + free(node->seq); + } else if (node->type == YAML_MAP) { + for (size_t i = 0; i < node->map_size; i++) { + free(node->keys[i]); + yaml_node_destroy(node->vals[i]); + } + free(node->keys); + free(node->vals); + } + free(node); } /* --- YAML Emitting --- */ -cyaml_emitter_t* cyaml_emitter_create(void) { - cyaml_emitter_t *emitter = (cyaml_emitter_t*)malloc(sizeof(cyaml_emitter_t)); - if (!emitter) return NULL; - emitter->buffer = (char*)malloc(CYAML_EMITTER_INITIAL_CAPACITY); +YAMLEmitter* yaml_emitter_create(void) { + YAMLEmitter *emitter = (YAMLEmitter*)malloc(sizeof(YAMLEmitter)); + if (!emitter) + return NULL; + emitter->buffer = (char*)malloc(YAMLEMIT_INITIAL_CAPACITY); if (!emitter->buffer) { free(emitter); return NULL; } emitter->buffer[0] = '\0'; emitter->size = 0; - emitter->capacity = CYAML_EMITTER_INITIAL_CAPACITY; + emitter->capacity = YAMLEMIT_INITIAL_CAPACITY; return emitter; } -// Internal helper to append text to the emitter's buffer. -static int cyaml_emitter_append(cyaml_emitter_t *emitter, const char *str) { - if (!emitter || !str) return -1; +// Internal function: append string to emitter's buffer. +static int yaml_emitter_append(YAMLEmitter *emitter, const char *str) { + if (!emitter || !str) + return -1; size_t len = strlen(str); if (emitter->size + len + 1 > emitter->capacity) { - size_t new_capacity = emitter->capacity * 2; - while (emitter->size + len + 1 > new_capacity) { - new_capacity *= 2; - } - char *new_buffer = (char*)realloc(emitter->buffer, new_capacity); - if (!new_buffer) return -1; - emitter->buffer = new_buffer; - emitter->capacity = new_capacity; + size_t new_cap = emitter->capacity * 2; + while (emitter->size + len + 1 > new_cap) + new_cap *= 2; + char *new_buf = (char*)realloc(emitter->buffer, new_cap); + if (!new_buf) + return -1; + emitter->buffer = new_buf; + emitter->capacity = new_cap; } - memcpy(emitter->buffer + emitter->size, str, len + 1); + memcpy(emitter->buffer + emitter->size, str, len); emitter->size += len; + emitter->buffer[emitter->size] = '\0'; return 0; } -// A simple emitter that outputs the root scalar. -int cyaml_emitter_emit(cyaml_emitter_t *emitter, const cyaml_document_t *doc) { - if (!emitter || !doc) return -1; - if (doc->root && doc->root->type == CYAML_NODE_SCALAR) { - return cyaml_emitter_append(emitter, doc->root->scalar); +// Recursive function to emit a YAML node with proper indentation. +static int yaml_emit_node(YAMLEmitter *emitter, const YAMLNode *node, int indent) { + char indent_str[256]; + if (indent < (int)sizeof(indent_str)) { + memset(indent_str, ' ', indent); + indent_str[indent] = '\0'; + } else { + indent_str[0] = '\0'; } - return -1; + char line_buf[1024]; + int ret; + if (!node) + return -1; + switch (node->type) { + case YAML_STR: + // Use block scalar style if the string contains newline(s). + if (strchr(node->str, '\n')) { + ret = yaml_emitter_append(emitter, "|-\n"); + if (ret) + return ret; + char *copy = strdup(node->str); + char *line = strtok(copy, "\n"); + while (line) { + snprintf(line_buf, sizeof(line_buf), "%s%s\n", indent_str, line); + ret = yaml_emitter_append(emitter, line_buf); + if (ret) { + free(copy); + return ret; + } + line = strtok(NULL, "\n"); + } + free(copy); + } else { + snprintf(line_buf, sizeof(line_buf), "%s%s\n", indent_str, node->str); + ret = yaml_emitter_append(emitter, line_buf); + if (ret) + return ret; + } + break; + case YAML_SEQ: + for (size_t i = 0; i < node->seq_size; i++) { + snprintf(line_buf, sizeof(line_buf), "%s- ", indent_str); + ret = yaml_emitter_append(emitter, line_buf); + if (ret) + return ret; + if (node->seq[i]->type == YAML_STR) { + ret = yaml_emitter_append(emitter, node->seq[i]->str); + ret = yaml_emitter_append(emitter, "\n"); + if (ret) + return ret; + } else { + ret = yaml_emitter_append(emitter, "\n"); + if (ret) + return ret; + ret = yaml_emit_node(emitter, node->seq[i], indent + 2); + if (ret) + return ret; + } + } + break; + case YAML_MAP: + for (size_t i = 0; i < node->map_size; i++) { + snprintf(line_buf, sizeof(line_buf), "%s%s: ", indent_str, node->keys[i]); + ret = yaml_emitter_append(emitter, line_buf); + if (ret) + return ret; + if (node->vals[i]->type == YAML_STR) { + ret = yaml_emitter_append(emitter, node->vals[i]->str); + ret = yaml_emitter_append(emitter, "\n"); + if (ret) + return ret; + } else { + ret = yaml_emitter_append(emitter, "\n"); + if (ret) + return ret; + ret = yaml_emit_node(emitter, node->vals[i], indent + 2); + if (ret) + return ret; + } + } + break; + default: + break; + } + return 0; } -int cyaml_emitter_to_file(cyaml_emitter_t *emitter, const char *filename) { - if (!emitter || !filename) return -1; +int yaml_emit(YAMLEmitter *emitter, const YAMLDoc *doc) { + if (!emitter || !doc || !doc->root) + return -1; + return yaml_emit_node(emitter, doc->root, 0); +} + +int yaml_emit_to_file(YAMLEmitter *emitter, const char *filename) { + if (!emitter || !filename) + return -1; FILE *file = fopen(filename, "w"); - if (!file) return -1; + if (!file) + return -1; fwrite(emitter->buffer, 1, emitter->size, file); fclose(file); return 0; } -char* cyaml_emitter_to_string(cyaml_emitter_t *emitter) { - if (!emitter) return NULL; +char* yaml_emit_to_str(YAMLEmitter *emitter) { + if (!emitter) + return NULL; return strdup(emitter->buffer); } -void cyaml_emitter_destroy(cyaml_emitter_t *emitter) { - if (!emitter) return; - if (emitter->buffer) - free(emitter->buffer); +void yaml_emitter_destroy(YAMLEmitter *emitter) { + if (!emitter) + return; + free(emitter->buffer); free(emitter); } -#endif // CYAML_IMPLEMENTATION +#endif // YAML_IMPLEMENTATION -#endif // CYAML_H +#endif // YAML_H diff --git a/users.yaml b/users.yaml new file mode 100644 index 0000000..e69de29