-
Notifications
You must be signed in to change notification settings - Fork 3
/
misc.cpp
42 lines (38 loc) · 729 Bytes
/
misc.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "tok.h"
#include <sys/stat.h>
long cmm_filelength(int fd) {
struct stat sb;
if (fstat(fd, &sb) != 0)
return -1;
return sb.st_size;
}
void cmm_strupr(char *string) {
char ch;
while ((ch = *string)) {
if (ch >= 'a' && ch <= 'z')
*string = ch - 0x20;
string++;
}
}
void cmm_strlwr(char *string) {
char ch;
while ((ch = *string)) {
if (ch >= 'A' && ch <= 'Z')
*string = ch + 0x20;
string++;
}
}
int cmm_strcmpi(char *s1, char *s2) {
int i;
for (i = 0; s1[i] && s2[i]; i++) {
if (s1[i] == s2[i] || (s1[i] ^ 32) == s2[i])
continue;
else
break;
}
if (s1[i] == s2[i])
return 0;
if ((s1[i] | 32) < (s2[i] | 32))
return -1;
return 1;
}