Psnuser.c Review
#include <curl/curl.h> static size_t write_callback(void *data, size_t size, size_t nmemb, void *userp) // Append to response string
void psn_shutdown(void) psn_logout(); printf("[PSN] Clean shutdown complete.\n");
#include "psnuser.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> // Static / internal data static PsnUser g_current_user = 0; static PsnSession g_active_session = 0; static int g_is_logged_in = 0; psnuser.c
Replace the mock login with:
if (psn_login("user@example.com", "pass") != 0) fprintf(stderr, "Login failed\n"); return; #include <curl/curl
const PsnUser *psn_get_current_user(void) if (!g_is_logged_in) return NULL; return &g_current_user;
int psn_login(const char *email, const char *password) 4.3 Logout void psn_logout(void) if (!g_is_logged_in) return; // Invalidate token (simulate) memset(&g_active_session, 0, sizeof(PsnSession)); memset(&g_current_user, 0, sizeof(PsnUser)); g_is_logged_in = 0; static size_t write_callback(void *data
printf("[PSN] Logged out.\n"); int psn_is_session_valid(void) if (!g_is_logged_in) return 0; if (time(NULL) >= g_active_session.expires_at) printf("[PSN] Session expired.\n"); return 0; return 1;
