summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2012-03-19 20:00:48 +0400
committerIgor Pashev <pashev.igor@gmail.com>2012-03-19 20:00:48 +0400
commitbae7f4675fcfeda40b3c6bb1752f8fce12be5ab0 (patch)
tree9f839ec7220305afb5b9981c629d6131b1a552ca
parentd0f5d1f6af6ca6c2060ca42c333196b46229c126 (diff)
downloadgcd-bae7f4675fcfeda40b3c6bb1752f8fce12be5ab0.tar.gz
Use unsigned long; fixed some splint warnings
-rw-r--r--gcd.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/gcd.c b/gcd.c
index 5a520be..b0109c8 100644
--- a/gcd.c
+++ b/gcd.c
@@ -1,9 +1,9 @@
#include <stdlib.h>
#include <stdio.h>
-unsigned int gcd2(unsigned int a, unsigned int b)
+static unsigned long int gcd2(unsigned long int a, unsigned long int b)
{
- unsigned int c;
+ unsigned long int c;
while (b != 0) {
c = b;
b = a % b;
@@ -12,9 +12,9 @@ unsigned int gcd2(unsigned int a, unsigned int b)
return a;
}
-unsigned int gcdn(unsigned int a[], size_t n)
+static unsigned long int gcdn(unsigned long int *a, size_t n)
{
- unsigned int r;
+ unsigned long int r;
size_t i;
r = a[0];
for(i = 1; i < n; i++) {
@@ -26,16 +26,16 @@ unsigned int gcdn(unsigned int a[], size_t n)
int main (int argc, char *argv[])
{
- unsigned int *a;
- int i, n;
+ unsigned long int *a;
+ size_t i, n;
if (argc > 1) {
- n = argc - 1;
- a = malloc(sizeof(unsigned int) * n);
+ n = (size_t)(argc - 1);
+ a = malloc(sizeof(unsigned long int) * n);
if (NULL != a) {
for (i = 1; i <= n; i++)
- a[i-1] = atoi(argv[i]);
- printf("%u\n", gcdn(a, n));
+ a[i-1] = strtoul(argv[i], NULL, 10);
+ printf("%lu\n", gcdn(a, n));
free(a);
return EXIT_SUCCESS;
}