C for linux not returing if value is negative : <p>have this small sample of code:</p>

<pre><code>size_t value;

value = (size_t) strtol(argv[1], NULL, 10);
if (value &lt;= 0) {
     fprintf(stderr, "Value cant be 0 or a negative value\n");
     return 1;
}
</code></pre>

<p>When I run <code>./prog -1</code>, it doesn't fail with <code>Value cant be 0 or a negative value</code> which doesn't make sense to me. Am I missing something?</p>

<p>If I run <code>./prog 0</code>, it does fail, but not if the argument is with <code>-</code>.</p>
