c == L'\''|| c == L'#' || \
c == L'0' || c == L'1' || c == L'2' || c == L'3' || c == L'4' || c == L'5' || c == L'6' || \
c == L'7' || c == L'8' || c == L'9' || \
- // FIXME: Accentued characters (aka multibytes characters) support is still buggy
+ //FIXME: Accentued characters (aka multibytes characters) support is still buggy
c == L'à' || c == L'â' || c == L'ç' || c == L'è' || c == L'é' || c == L'î' || c == L'ô' || \
c == L'ù' || c == L'û' || \
c == L'À' || c == L'Â' || c == L'Ç' || c == L'È' || c == L'É' || c == L'Î' || c == L'Ô' || \
}
int scanner() {
+ tokenValue[0] = 0;
unsigned int i = 0;
wchar_t m[6];
}
if (isAlphaNum()) {
token[tokenFound].value[i] = c;
+ tokenValue[i] = c;
i++;
c = fgetwc(source);
goto M1;
MC1:
if (c == L'A' && !wcscmp(fgetws(m, 6, source), L"uteur")) {
wcscpy((wchar_t*)token[tokenFound].value, L">Auteur");
+ wcscpy((wchar_t*)tokenValue, L">Auteur");
c = fgetwc(source);
goto MC2;
}
if (c == L'T' && !wcscmp(fgetws(m, 5, source), L"itre")) {
wcscpy((wchar_t*)token[tokenFound].value, L">Titre");
+ wcscpy((wchar_t*)tokenValue, L">Titre");
c = fgetwc(source);
goto MC2;
}
M1:
if (isAlphaNum()) {
token[tokenFound].value[i] = c;
+ tokenValue[i] = c;
i++;
c = fgetwc(source);
goto M1;
}
if (isAlphaNum()) {
token[tokenFound].value[i] = c;
+ tokenValue[i] = c;
i++;
c = fgetwc(source);
goto M1;
return EXIT_SUCCESS;
MOT:
+ tokenValue[i] = 0;
tokenType = MOT;
return EXIT_SUCCESS;
error:
if (tokenType == MOT || tokenType == MOTCLE) {
fwprintf(stderr, L"%s error with token type: %s and value: %ls\n",
- __func__,
- tokenTypestr[tokenType],
- token[tokenFound].value);
+ __func__,
+ tokenTypestr[tokenType],
+ token[tokenFound].value);
} else {
fwprintf(stderr, L"%s error with token type: %s\n",
- __func__,
- tokenTypestr[tokenType]);
+ __func__,
+ tokenTypestr[tokenType]);
}
+ fflush(stderr);
tokenType = FIN;
exit(EXIT_FAILURE);
}