dvander@2446: #include dvander@2446: dvander@2446: public Plugin:myinfo = dvander@2446: { dvander@2446: name = "File test", dvander@2446: author = "AlliedModders LLC", dvander@2446: description = "Tests file functions", dvander@2446: version = "1.0.0.0", dvander@2446: url = "http://www.sourcemod.net/" dvander@2446: }; dvander@2446: dvander@2446: public OnPluginStart() dvander@2446: { dvander@2446: RegServerCmd("test_fread1", Test_ReadBinStr); dvander@2446: } dvander@2446: dvander@2446: Handle:OpenFile2(const String:path[], const String:mode[]) dvander@2446: { dvander@2446: new Handle:file = OpenFile(path, mode); dvander@2446: if (file == INVALID_HANDLE) dvander@2446: PrintToServer("Failed to open file %s for %s", path, mode); dvander@2446: else dvander@2446: PrintToServer("Opened file handle %x: %s", file, path); dvander@2446: return file; dvander@2446: } dvander@2446: dvander@2446: public Action:Test_ReadBinStr(args) dvander@2446: { dvander@2446: new items[] = {1, 3, 5, 7, 0, 92, 193, 26, 0, 84, 248, 2}; dvander@2446: new Handle:of = OpenFile2("smbintest", "wb"); dvander@2446: if (of == INVALID_HANDLE) dvander@2446: return Plugin_Handled; dvander@2446: WriteFile(of, items, sizeof(items), 1); dvander@2446: CloseHandle(of); dvander@2446: dvander@2446: new Handle:inf = OpenFile2("smbintest", "rb"); dvander@2446: new String:buffer[sizeof(items)]; dvander@2446: ReadFileString(inf, buffer, sizeof(items), sizeof(items)); dvander@2446: FileSeek(inf, 0, SEEK_SET); dvander@2446: new items2[sizeof(items)]; dvander@2446: ReadFile(inf, items2, sizeof(items), 1); dvander@2446: CloseHandle(inf); dvander@2446: dvander@2446: for (new i = 0; i < sizeof(items); i++) dvander@2446: { dvander@2446: if (buffer[i] != items[i]) dvander@2446: { dvander@2446: PrintToServer("FAILED ON INDEX %d: %d != %d", i, buffer[i], items[i]); dvander@2446: return Plugin_Handled; dvander@2446: } dvander@2446: else if (items2[i] != items[i]) dvander@2446: { dvander@2446: PrintToServer("FAILED ON INDEX %d: %d != %d", i, items2[i], items[i]); dvander@2446: return Plugin_Handled; dvander@2446: } dvander@2446: } dvander@2446: dvander@2446: PrintToServer("Test passed!"); dvander@2446: dvander@2446: return Plugin_Handled; dvander@2446: } dvander@2446: