Mercurial > ecos
diff host/tools/ecostest/common/eCosTestDownloadFilter.h @ 115:6ed91473a1cd ecos-sw-2000-08-21
Merge from eCos master repository on 2000-08-21-22:40:54-BST
| author | jlarmour |
|---|---|
| date | Fri, 25 Aug 2000 17:32:38 +0000 |
| parents | 6736c52df507 |
| children | 74dbf4c3f2e1 |
line wrap: on
line diff
--- a/host/tools/ecostest/common/eCosTestDownloadFilter.h +++ b/host/tools/ecostest/common/eCosTestDownloadFilter.h @@ -50,7 +50,20 @@ #define INIT_VALUE(__args) unsigned int v; char *__ptr1, *__ptr2 = (__args) -#define SET_VALUE(__type, __slot) { __ptr1 = strchr(__ptr2, (int) ':'); if (__ptr1) *__ptr1 = 0; v = atoi(__ptr2); __ptr2 = __ptr1+1; (__slot) = (__type) v; } +#define SET_VALUE(__type, __slot) { \ + __ptr1 = strchr(__ptr2, (int) ':'); \ + if (*__ptr2 == '\0') \ + (__slot) = (__type)-1; \ + else { \ + if (__ptr1) \ + *__ptr1 = 0; \ + else \ + __ptr1 = strchr( __ptr2, 0) - 1; \ + v = atoi(__ptr2); \ + __ptr2 = __ptr1+1; \ + (__slot) = (__type) v; \ + } \ +} #define SET_STRING(__slot) { __ptr1 = strchr(__ptr2, (int) ':'); if (__ptr1) *__ptr1 = 0; __slot = __ptr2; __ptr2 = __ptr1+1; }
