summaryrefslogtreecommitdiff
path: root/src/common/utils.c
diff options
context:
space:
mode:
authorDennis Friis <peavey@placid.dk>2008-04-02 15:09:18 +0000
committerDennis Friis <peavey@placid.dk>2008-04-02 15:09:18 +0000
commit97bb21a79949779df76269b087f3bce7ef8179ee (patch)
tree08b3bdee2f3596581dd8d8f051afd37ee648cee7 /src/common/utils.c
parentdafdbbe9f1db3e6943003a79a6e23c00da2f2fe1 (diff)
downloadtmwa-97bb21a79949779df76269b087f3bce7ef8179ee.tar.gz
tmwa-97bb21a79949779df76269b087f3bce7ef8179ee.tar.bz2
tmwa-97bb21a79949779df76269b087f3bce7ef8179ee.tar.xz
tmwa-97bb21a79949779df76269b087f3bce7ef8179ee.zip
initial checkin
Diffstat (limited to 'src/common/utils.c')
-rw-r--r--src/common/utils.c108
1 files changed, 108 insertions, 0 deletions
diff --git a/src/common/utils.c b/src/common/utils.c
new file mode 100644
index 0000000..b0ecd26
--- /dev/null
+++ b/src/common/utils.c
@@ -0,0 +1,108 @@
+#include <string.h>
+#include "utils.h"
+#include <stdio.h>
+
+void dump(unsigned char *buffer, int num)
+{
+ int icnt,jcnt;
+
+ printf(" Hex ASCII\n");
+ printf(" ----------------------------------------------- ----------------");
+
+ for (icnt=0;icnt<num;icnt+=16) {
+ printf("\n%p ",&buffer[icnt]);
+ for (jcnt=icnt;jcnt<icnt+16;++jcnt) {
+ if (jcnt < num) {
+ printf("%02hX ",buffer[jcnt]);
+ } else
+ printf(" ");
+ }
+
+ printf(" | ");
+
+ for (jcnt=icnt;jcnt<icnt+16;++jcnt) {
+ if (jcnt < num) {
+ if (buffer[jcnt] > 31 && buffer[jcnt] < 127)
+ printf("%c",buffer[jcnt]);
+ else
+ printf(".");
+ } else
+ printf(" ");
+ }
+ }
+ printf("\n");
+}
+
+
+#ifdef LCCWIN32
+char *rindex(char *str, char c)
+{
+ char *sptr;
+
+ sptr = str;
+ while(*sptr)
+ ++sptr;
+ if (c == '\0')
+ return(sptr);
+ while(str != sptr)
+ if (*sptr-- == c)
+ return(++sptr);
+ return(NULL);
+}
+
+int strcasecmp(const char *arg1, const char *arg2)
+{
+ int chk, i;
+
+ if (arg1 == NULL || arg2 == NULL) {
+ printf("SYSERR: str_cmp() passed a NULL pointer, %p or %p.\n", arg1, arg2);
+ return (0);
+ }
+
+ for (i = 0; arg1[i] || arg2[i]; i++)
+ if ((chk = LOWER(arg1[i]) - LOWER(arg2[i])) != 0)
+ return (chk); /* not equal */
+
+ return (0);
+}
+
+int strncasecmp(const char *arg1, const char *arg2, int n)
+{
+ int chk, i;
+
+ if (arg1 == NULL || arg2 == NULL) {
+ printf("SYSERR: strn_cmp() passed a NULL pointer, %p or %p.\n", arg1, arg2);
+ return (0);
+ }
+
+ for (i = 0; (arg1[i] || arg2[i]) && (n > 0); i++, n--)
+ if ((chk = LOWER(arg1[i]) - LOWER(arg2[i])) != 0)
+ return (chk); /* not equal */
+
+ return (0);
+}
+
+void str_upper(char *name)
+{
+
+ int len = strlen(name);
+ while (len--) {
+ if (*name >= 'a' && *name <= 'z')
+ *name -= ('a' - 'A');
+ name++;
+ }
+}
+
+void str_lower(char *name)
+{
+ int len = strlen(name);
+
+ while (len--) {
+ if (*name >= 'A' && *name <= 'Z')
+ *name += ('a' - 'A');
+ name++;
+ }
+}
+
+#endif
+