aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-09-26 09:22:12 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-09-26 09:22:12 +0000
commita552eeb498e0270ae9c87ef707865a764df99fb6 (patch)
tree1a385f7c6f1eab36fb66278e48840fe7fdc0b882 /libbb
parent3312c989e6a145dc38e5bb874e713aa92b2b0698 (diff)
downloadbusybox-w32-a552eeb498e0270ae9c87ef707865a764df99fb6.tar.gz
busybox-w32-a552eeb498e0270ae9c87ef707865a764df99fb6.tar.bz2
busybox-w32-a552eeb498e0270ae9c87ef707865a764df99fb6.zip
wget: add (configurable) large file support. Run tested.
Diffstat (limited to 'libbb')
-rw-r--r--libbb/safe_strtol.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/libbb/safe_strtol.c b/libbb/safe_strtol.c
index ecc1667db..2e8fa9558 100644
--- a/libbb/safe_strtol.c
+++ b/libbb/safe_strtol.c
@@ -74,3 +74,37 @@ int safe_strtoul(char *arg, unsigned long* value)
74} 74}
75#endif 75#endif
76 76
77#ifdef L_safe_strtoll
78int safe_strtoll(char *arg, long long* value)
79{
80 char *endptr;
81 int errno_save = errno;
82
83 assert(arg!=NULL);
84 errno = 0;
85 *value = strtoll(arg, &endptr, 0);
86 if (errno != 0 || *endptr!='\0' || endptr==arg) {
87 return 1;
88 }
89 errno = errno_save;
90 return 0;
91}
92#endif
93
94#ifdef L_safe_strtoull
95int safe_strtoull(char *arg, unsigned long long* value)
96{
97 char *endptr;
98 int errno_save = errno;
99
100 assert(arg!=NULL);
101 errno = 0;
102 *value = strtoull(arg, &endptr, 0);
103 if (errno != 0 || *endptr!='\0' || endptr==arg) {
104 return 1;
105 }
106 errno = errno_save;
107 return 0;
108}
109#endif
110