summaryrefslogtreecommitdiff
path: root/src/misc.c
diff options
context:
space:
mode:
authorrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-02-16 15:05:46 +0000
committerrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-02-16 15:05:46 +0000
commit0374d53d28b227e537768417b6b7f86ab1b5ca65 (patch)
treebd014b3a2c6fcfdc92e2dfa99fce93ff97bff565 /src/misc.c
parent578755d6274daf2eb0de998477960a34755c5d51 (diff)
Add 'w' and 'y' support to dotime(), also prevent a possible overflow - thanks to DP.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2093 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/misc.c')
-rw-r--r--src/misc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/misc.c b/src/misc.c
index 9de7cfdca..2acbb6087 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -325,9 +325,9 @@ int process_numlist(const char *numstr, int *count_ret,
* of seconds), or an integer followed by one of these characters:
* "s" (seconds), "m" (minutes), "h" (hours), or "d" (days).
* @param s String to convert
- * @return int
+ * @return time_t
*/
-int dotime(const char *s)
+time_t dotime(const char *s)
{
int amount;
@@ -346,6 +346,10 @@ int dotime(const char *s)
return amount * 3600;
case 'd':
return amount * 86400;
+ case 'w':
+ return amount * 86400 * 7;
+ case 'y':
+ return amount * 86400 * 365;
default:
return -1;
}