summaryrefslogtreecommitdiff
path: root/src/dice.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/dice.cc')
-rw-r--r--src/dice.cc20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/dice.cc b/src/dice.cc
index 187bae68..3b5b05a9 100644
--- a/src/dice.cc
+++ b/src/dice.cc
@@ -3,6 +3,7 @@
#include "z-rand.hpp"
#include <cassert>
+#include <cstring>
void dice_init(dice_type *dice, long base, long num, long sides)
{
@@ -13,47 +14,46 @@ void dice_init(dice_type *dice, long base, long num, long sides)
dice->sides = sides;
}
-bool_ dice_parse(dice_type *dice, cptr s)
+static bool dice_parse(dice_type *dice, const char *s)
{
long base, num, sides;
if (sscanf(s, "%ld+%ldd%ld", &base, &num, &sides) == 3)
{
dice_init(dice, base, num, sides);
- return TRUE;
+ return true;
}
if (sscanf(s, "%ld+d%ld", &base, &sides) == 2)
{
dice_init(dice, base, 1, sides);
- return TRUE;
+ return true;
}
if (sscanf(s, "d%ld", &sides) == 1)
{
dice_init(dice, 0, 1, sides);
- return TRUE;
+ return true;
}
if (sscanf(s, "%ldd%ld", &num, &sides) == 2)
{
dice_init(dice, 0, num, sides);
- return TRUE;
+ return true;
}
if (sscanf(s, "%ld", &base) == 1)
{
dice_init(dice, base, 0, 0);
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
-void dice_parse_checked(dice_type *dice, cptr s)
+void dice_parse_checked(dice_type *dice, const char *s)
{
- bool_ result = dice_parse(dice, s);
- if (!result)
+ if (!dice_parse(dice, s))
{
abort();
}