projects
/
YACASL2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
依存関係を整理
[YACASL2.git]
/
src
/
word.c
diff --git
a/src/word.c
b/src/word.c
index
6e9fb17
..
3e9d305
100644
(file)
--- a/
src/word.c
+++ b/
src/word.c
@@
-1,20
+1,21
@@
+#include <stdio.h>
+#include <string.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <ctype.h>
+
#include "word.h"
#include "cerr.h"
/* wordのエラー定義 */
#include "word.h"
#include "cerr.h"
/* wordのエラー定義 */
-CERR cerr_word[] = {
+
static
CERR cerr_word[] = {
{ 114, "not integer" },
{ 115, "not hex" },
{ 116, "out of hex range" },
};
{ 114, "not integer" },
{ 115, "not hex" },
{ 116, "out of hex range" },
};
-bool addcerrlist_word()
-{
- return addcerrlist(ARRAYSIZE(cerr_word), cerr_word);
-}
-
/* 10進数の文字列をWORD値に変換 */
/* 10進数の文字列をWORD値に変換 */
-WORD n2word(const char *str)
+
static
WORD n2word(const char *str)
{
assert(isdigit(*str) || *str == '-');
{
assert(isdigit(*str) || *str == '-');
@@
-26,7
+27,7
@@
WORD n2word(const char *str)
setcerr(114, str); /* not integer */
return 0x0;
}
setcerr(114, str); /* not integer */
return 0x0;
}
- /* nã
\81
\8c
-32768ã
\80
\9c
32767の範囲にないときは、その下位16ビットを格納 */
+ /* nã
\81
\8c
-32768ã
\81
\8b
ã
\82
\89
32767の範囲にないときは、その下位16ビットを格納 */
if(n < -32768 || n > 32767) {
n = n & 0xFFFF;
}
if(n < -32768 || n > 32767) {
n = n & 0xFFFF;
}
@@
-34,7
+35,7
@@
WORD n2word(const char *str)
}
/* 16進数の文字列をWORD値に変換 */
}
/* 16進数の文字列をWORD値に変換 */
-WORD h2word(const char *str)
+
static
WORD h2word(const char *str)
{
assert(*str == '#');
{
assert(*str == '#');
@@
-57,8
+58,11
@@
WORD h2word(const char *str)
/* 10進数または16進数の文字列をWORD値に変換 */
WORD nh2word(const char *str)
{
/* 10進数または16進数の文字列をWORD値に変換 */
WORD nh2word(const char *str)
{
- addcerrlist_word();
+ assert(sizeof(WORD)*8 == 16); /* WORD型のサイズが16ビットであることを確認 */
+ addcerrlist(ARRAYSIZE(cerr_word), cerr_word); /* エラーの設定 */
+
WORD word;
WORD word;
+
if(!isdigit(*str) && *str != '-' && *str != '#') {
setcerr(114, str); /* not integer */
return 0x0;
if(!isdigit(*str) && *str != '-' && *str != '#') {
setcerr(114, str); /* not integer */
return 0x0;