]> git.donarmstrong.com Git - mothur.git/blobdiff - myutils.cpp
removed UWSig and WSig from output if user does not set random=T
[mothur.git] / myutils.cpp
index ea983eb9e229a8549e1231aaaf75625d12135274..78bf5439091ade28ce3337094deda7fc91779c3b 100755 (executable)
@@ -1,3 +1,5 @@
+//uchime by Robert C. Edgar http://drive5.com/uchime This code is donated to the public domain.\r
+\r
 #include <time.h>\r
 #include <stdarg.h>\r
 #include <sys/stat.h>\r
 #include <signal.h>\r
 #include <float.h>\r
 \r
-#ifdef _MSC_VER\r
-#include <crtdbg.h>\r
-#include <process.h>\r
-#include <windows.h>\r
-#include <psapi.h>\r
-#include <io.h>\r
-#else\r
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)\r
 #include <sys/time.h>\r
 #include <sys/resource.h>\r
 #include <unistd.h>\r
 #include <errno.h>\r
 #include <fcntl.h>\r
 #include <stdlib.h>\r
+#else\r
+//#include <crtdbg.h>\r
+#include <process.h>\r
+#include <windows.h>\r
+#include <psapi.h>\r
+#include <io.h>\r
 #endif\r
 \r
 #include "myutils.h"\r
@@ -139,14 +141,24 @@ bool myisatty(int fd)
        return isatty(fd) != 0;\r
        }\r
 \r
-#ifdef _MSC_VER\r
-#include <io.h>\r
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)\r
+#else\r
+//#ifdef BIT_VERSION\r
+//#include <io.h>\r
+//int fseeko(FILE *stream, off_t offset, int whence)\r
+////   {\r
+//     off_t FilePos = _fseeki64(stream, offset, whence);\r
+//     return (FilePos == -1L) ? -1 : 0;\r
+//     }\r
+//#define ftello(fm) (off_t) _ftelli64(fm)\r
+//#else \r
 int fseeko(FILE *stream, off_t offset, int whence)\r
-       {\r
-       off_t FilePos = _fseeki64(stream, offset, whence);\r
+{\r
+       off_t FilePos = fseek(stream, offset, whence);\r
        return (FilePos == -1L) ? -1 : 0;\r
-       }\r
-#define ftello(fm) (off_t) _ftelli64(fm)\r
+}\r
+#define ftello(fm) (off_t) ftell(fm)\r
+//#endif\r
 #endif\r
 \r
 void LogStdioFileState(FILE *f)\r
@@ -166,9 +178,16 @@ void LogStdioFileState(FILE *f)
        Log("fpos       %ld (retval %d)\n", (long) fpos, fgetpos_retval);\r
 //     Log("eof        %d\n", _eof(fd));\r
 #endif\r
-#ifdef _MSC_VER\r
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)\r
+#else\r
+#ifdef BIT_VERSION\r
        __int64 pos64 = _ftelli64(f);\r
        Log("_ftelli64  %lld\n", pos64);\r
+#else\r
+       __int32 pos32 = ftell(f);\r
+       Log("ftell  %lld\n", pos32);\r
+               \r
+#endif\r
 #endif\r
        }\r
 \r
@@ -494,7 +513,8 @@ off_t GetStdioFilePos(FILE *f)
 off_t GetStdioFileSize(FILE *f)\r
        {\r
        off_t CurrentPos = GetStdioFilePos(f);\r
-       int Ok = fseeko(f, 0, SEEK_END);\r
+       off_t zeroPos = 0;\r
+       int Ok = fseeko(f, zeroPos, SEEK_END);\r
        if (Ok < 0)\r
                Die("fseek in GetFileSize");\r
 \r
@@ -594,10 +614,11 @@ void Die(const char *Format, ...)
        fprintf(stderr, "\n---Fatal error---\n%s\n", szStr);\r
        Log("\n---Fatal error---\n%s\n", szStr);\r
 \r
-#ifdef _MSC_VER\r
-       if (IsDebuggerPresent())\r
-               __debugbreak();\r
-       _CrtSetDbgFlag(0);\r
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)\r
+#else\r
+       //if (IsDebuggerPresent())\r
+       //      __debugbreak();\r
+       //_CrtSetDbgFlag(0);\r
 #endif\r
 \r
        exit(1);\r
@@ -622,20 +643,7 @@ void Warning(const char *Format, ...)
                }\r
        }\r
 \r
-#ifdef _MSC_VER\r
-double GetMemUseBytes()\r
-       {\r
-       HANDLE hProc = GetCurrentProcess();\r
-       PROCESS_MEMORY_COUNTERS PMC;\r
-       BOOL bOk = GetProcessMemoryInfo(hProc, &PMC, sizeof(PMC));\r
-       if (!bOk)\r
-               return 1000000;\r
-       double Bytes = (double) PMC.WorkingSetSize;\r
-       if (Bytes > g_PeakMemUseBytes)\r
-               g_PeakMemUseBytes = Bytes;\r
-       return Bytes;\r
-       }\r
-#elif  linux || __linux__\r
+#if defined linux || __linux__\r
 double GetMemUseBytes()\r
        {\r
        static char statm[64];\r
@@ -666,7 +674,7 @@ double GetMemUseBytes()
                g_PeakMemUseBytes = Bytes;\r
        return Bytes;\r
        }\r
-#elif defined(__MACH__)\r
+#elif defined(__APPLE__) || (__MACH__)\r
 #include <memory.h>\r
 #include <stdlib.h>\r
 #include <stdio.h>\r
@@ -707,9 +715,9 @@ double GetMemUseBytes()
        }\r
 #else\r
 double GetMemUseBytes()\r
-       {\r
+{\r
        return 0;\r
-       }\r
+}\r
 #endif\r
 \r
 double GetPeakMemUseBytes()\r
@@ -947,7 +955,7 @@ void ProgressExit()
 // Skip exit(), which can be very slow in DEBUG build\r
 // VERY DANGEROUS practice, because it skips global destructors.\r
 // But if you know the rules, you can break 'em, right?\r
-       ExitProcess(0);\r
+       //ExitProcess(0);\r
 #endif\r
        }\r
 \r
@@ -1199,7 +1207,8 @@ static void AddOpt(const OptInfo &Opt)
        g_Opts.insert(Opt);\r
        }\r
 \r
-#ifdef _MSC_VER\r
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)\r
+#else\r
 #pragma warning(disable: 4505) // unreferenced local function\r
 #endif\r
 \r
@@ -1523,6 +1532,7 @@ static void GetArgsFromFile(const string &FileName, vector<string> &Args)
 \r
 void MyCmdLine(int argc, char **argv)\r
        {\r
+       g_Opts.clear(); g_Argv.clear();\r
        static unsigned RecurseDepth = 0;\r
        ++RecurseDepth;\r
 \r