#include #include #include "resource.h" /* Convert zero-terminated non-wide (multi-byte) string to * zero-terminated wide/non-wide string depending on UNICODE. */ TCHAR * TSZFromSZ(const char *sz, int iCp) { TCHAR *tsz; #ifdef UNICODE int cbMultiByte, cchWideChar; cbMultiByte = strlen(sz)+1; cchWideChar = MultiByteToWideChar(iCp, 0, sz, cbMultiByte, NULL, 0); tsz = malloc(cchWideChar*sizeof(WCHAR)); if (!tsz) return NULL; if (!MultiByteToWideChar(iCp, 0, sz, cbMultiByte, tsz, cchWideChar)) return NULL; #else tsz = malloc(strlen(sz)+1); if (!tsz) return NULL; strcpy(tsz, sz); #endif return tsz; } int Watched(int iEpisode) { term_t t; t = PL_new_term_refs(1); if (!PL_put_integer(t+0, iEpisode)) return 0; return PL_call_predicate(NULL, PL_Q_NORMAL, PL_predicate("watched", 1, "track_episodes"), t); }