author | zautrix <zautrix> | 2004-10-05 11:13:51 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-05 11:13:51 (UTC) |
commit | 50ab40e1e02ad7c65c17a78d08116a808b1257aa (patch) (unidiff) | |
tree | 0d1939e2297fa7bbd8e1f2030f154463854164c6 /gammu/emb/common/misc/misc.c | |
parent | cf8616f64f20e5448d4ff644f7cc15750cf3f85f (diff) | |
download | kdepimpi-50ab40e1e02ad7c65c17a78d08116a808b1257aa.zip kdepimpi-50ab40e1e02ad7c65c17a78d08116a808b1257aa.tar.gz kdepimpi-50ab40e1e02ad7c65c17a78d08116a808b1257aa.tar.bz2 |
updated to latest gammu version
Diffstat (limited to 'gammu/emb/common/misc/misc.c') (more/less context) (ignore whitespace changes)
-rw-r--r-- | gammu/emb/common/misc/misc.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gammu/emb/common/misc/misc.c b/gammu/emb/common/misc/misc.c index c2f09e4..7227e7b 100644 --- a/gammu/emb/common/misc/misc.c +++ b/gammu/emb/common/misc/misc.c | |||
@@ -8,12 +8,15 @@ | |||
8 | #include <stdio.h> | 8 | #include <stdio.h> |
9 | #include <locale.h> | 9 | #include <locale.h> |
10 | #include <sys/timeb.h> | 10 | #include <sys/timeb.h> |
11 | #ifdef WIN32 | 11 | #ifdef WIN32 |
12 | # include "windows.h" | 12 | # include "windows.h" |
13 | #endif | 13 | #endif |
14 | #if defined(linux) || defined(__linux) || defined(__linux__) | ||
15 | # include <sys/utsname.h> | ||
16 | #endif | ||
14 | 17 | ||
15 | #include "../gsmstate.h" | 18 | #include "../gsmstate.h" |
16 | #include "misc.h" | 19 | #include "misc.h" |
17 | 20 | ||
18 | /* Based on article in Polish PC-Kurier 8/1998 page 104 | 21 | /* Based on article in Polish PC-Kurier 8/1998 page 104 |
19 | * Archive on http://www.pckurier.pl | 22 | * Archive on http://www.pckurier.pl |
@@ -227,17 +230,19 @@ char *OSDate (GSM_DateTime dt) | |||
227 | #endif | 230 | #endif |
228 | 231 | ||
229 | return retval2; | 232 | return retval2; |
230 | } | 233 | } |
231 | 234 | ||
232 | bool CheckDate(GSM_DateTime *date) | 235 | bool CheckDate(GSM_DateTime *date) |
233 | { | 236 | { |
234 | /* FIXME: This could also check if day is correct for selected month */ | 237 | const unsigned int days[]={31,29,31,30,31,30,31,31,30,31,30,31}; |
238 | |||
239 | /* FIXME: This could also check for leap years */ | ||
235 | return date->Year != 0 && | 240 | return date->Year != 0 && |
236 | date->Month >= 1 && date->Month <= 12 && | 241 | date->Month >= 1 && date->Month <= 12 && |
237 | date->Day >= 1 && date->Day <= 31; | 242 | date->Day >= 1 && date->Day <= days[date->Month]; |
238 | } | 243 | } |
239 | 244 | ||
240 | bool CheckTime(GSM_DateTime *date) | 245 | bool CheckTime(GSM_DateTime *date) |
241 | { | 246 | { |
242 | return date->Hour <= 23 && date->Hour >= 0 && | 247 | return date->Hour <= 23 && date->Hour >= 0 && |
243 | date->Minute <= 59 && date->Minute >= 0 && | 248 | date->Minute <= 59 && date->Minute >= 0 && |
@@ -448,12 +453,15 @@ void DumpMessage(FILE *df, Debug_Level dl, const unsigned char *message, int mes | |||
448 | char *GetOS(void) | 453 | char *GetOS(void) |
449 | { | 454 | { |
450 | #ifdef WIN32 | 455 | #ifdef WIN32 |
451 | OSVERSIONINFOEX Ver; | 456 | OSVERSIONINFOEX Ver; |
452 | bool Extended = true; | 457 | bool Extended = true; |
453 | #endif | 458 | #endif |
459 | #if defined(linux) || defined(__linux) || defined(__linux__) | ||
460 | struct utsnameVer; | ||
461 | #endif | ||
454 | static char Buffer[100] = {0x00}; | 462 | static char Buffer[100] = {0x00}; |
455 | 463 | ||
456 | #ifdef WIN32 | 464 | #ifdef WIN32 |
457 | memset(&Ver,sizeof(OSVERSIONINFOEX),0); | 465 | memset(&Ver,sizeof(OSVERSIONINFOEX),0); |
458 | Ver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); | 466 | Ver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); |
459 | 467 | ||
@@ -517,13 +525,14 @@ char *GetOS(void) | |||
517 | } | 525 | } |
518 | 526 | ||
519 | if (Extended && Ver.wServicePackMajor != 0) { | 527 | if (Extended && Ver.wServicePackMajor != 0) { |
520 | sprintf(Buffer+strlen(Buffer)," SP%i",Ver.wServicePackMajor); | 528 | sprintf(Buffer+strlen(Buffer)," SP%i",Ver.wServicePackMajor); |
521 | } | 529 | } |
522 | #elif defined(linux) || defined(__linux) || defined(__linux__) | 530 | #elif defined(linux) || defined(__linux) || defined(__linux__) |
523 | sprintf(Buffer, "Linux"); | 531 | uname(&Ver); |
532 | sprintf(Buffer, "Linux, kernel %s",Ver.release); | ||
524 | #elif defined(__FreeBSD__) | 533 | #elif defined(__FreeBSD__) |
525 | sprintf(Buffer, "FreeBSD"); | 534 | sprintf(Buffer, "FreeBSD"); |
526 | #elif defined(__NetBSD__) | 535 | #elif defined(__NetBSD__) |
527 | sprintf(Buffer, "NetBSD"); | 536 | sprintf(Buffer, "NetBSD"); |
528 | #elif defined(__OpenBSD__) | 537 | #elif defined(__OpenBSD__) |
529 | sprintf(Buffer, "OpenBSD"); | 538 | sprintf(Buffer, "OpenBSD"); |