From 99830fddc7fb74d98405660cd959fce0f14862f5 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 29 Jun 2015 02:53:01 -0500 Subject: [PATCH] modified: 16/inpu.bat new file: 16/inputest.exe new file: 16/src/lib/lib_head.c --- 16/inpu.bat | 5 +- 16/inputest.exe | Bin 0 -> 22242 bytes 16/src/lib/lib_head.c | 165 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 168 insertions(+), 2 deletions(-) create mode 100644 16/inputest.exe create mode 100644 16/src/lib/lib_head.c diff --git a/16/inpu.bat b/16/inpu.bat index d7e9313c..e7fc3b24 100644 --- a/16/inpu.bat +++ b/16/inpu.bat @@ -1,2 +1,3 @@ -wcc -0 -mc src\lib\16_in.c -wcl -mc -0 -l=dos src\inputest.c 16_in.obj \ No newline at end of file +wcc -0 -mc src\lib\lib_head.c +wcc -0 -mc src\lib\16_in.c +wcl -mc -0 -l=dos src\inputest.c 16_in.obj lib_head.obj diff --git a/16/inputest.exe b/16/inputest.exe new file mode 100644 index 0000000000000000000000000000000000000000..24896837ebea52cb3361264ac48636bc4ff2f20d GIT binary patch literal 22242 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 z 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, or + * write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "src/lib/lib_head.h" + +/* local function */ +void wait(clock_t wait); +void* AllocateLargestFreeBlock(size_t* Size); +size_t GetFreeSize(void); +long int filesize(FILE *fp); + +/* Function: Wait ********************************************************** +* +* Parameters: wait - time in microseconds +* +* Description: pauses for a specified number of microseconds. +* +*/ +void wait(clock_t wait){ + clock_t goal; + + if(!wait) return; + + goal = wait + clock(); + while((goal > clock()) && !kbhit()) ; +} /* End of wait */ + +void* AllocateLargestFreeBlock(size_t* Size) +{ + size_t s0, s1; + void* p; + + s0 = ~(size_t)0 ^ (~(size_t)0 >> 1); + + while (s0 && (p = malloc(s0)) == NULL) + s0 >>= 1; + + if (p) + free(p); + + s1 = s0 >> 1; + + while (s1) + { + if ((p = malloc(s0 + s1)) != NULL) + { + s0 += s1; + free(p); + } + s1 >>= 1; + } + + while (s0 && (p = malloc(s0)) == NULL) + s0 ^= s0 & -s0; + + *Size = s0; + return p; +} + +size_t GetFreeSize(void) +{ + size_t total = 0; + void* pFirst = NULL; + void* pLast = NULL; + + for (;;) + { + size_t largest; + void* p = AllocateLargestFreeBlock(&largest); + + if (largest < sizeof(void*)) + { + if (p != NULL) + free(p); + break; + } + + *(void**)p = NULL; + + total += largest; + + if (pFirst == NULL) + pFirst = p; + + if (pLast != NULL) + *(void**)pLast = p; + + pLast = p; + } + + while (pFirst != NULL) + { + void* p = *(void**)pFirst; + free(pFirst); + pFirst = p; + } + + return total; +} + +long int +filesize(FILE *fp) +{ + long int save_pos, size_of_file; + + save_pos = ftell(fp); + fseek(fp, 0L, SEEK_END); + size_of_file = ftell(fp); + fseek(fp, save_pos, SEEK_SET); + return(size_of_file); +} + +/////////////////////////////////////////////////////////////////////////// +// +// US_CheckParm() - checks to see if a string matches one of a set of +// strings. The check is case insensitive. The routine returns the +// index of the string that matched, or -1 if no matches were found +// +/////////////////////////////////////////////////////////////////////////// +int +US_CheckParm(char *parm,char **strings) +{ + char cp,cs, + *p,*s; + int i; + + while (!isalpha(*parm)) // Skip non-alphas + parm++; + + for (i = 0;*strings && **strings;i++) + { + for (s = *strings++,p = parm,cs = cp = 0;cs == cp;) + { + cs = *s++; + if (!cs) + return(i); + cp = *p++; + + if (isupper(cs)) + cs = tolower(cs); + if (isupper(cp)) + cp = tolower(cp); + } + } + return(-1); +} -- 2.39.5