Si prosegue con le modifiche per l'inclusione degli esempi di codice.
[gapil.git] / listati / errcode_mess.c
diff --git a/listati/errcode_mess.c b/listati/errcode_mess.c
new file mode 100644 (file)
index 0000000..61321bc
--- /dev/null
@@ -0,0 +1,17 @@
+    /* convert string to number */
+    err = strtol(argv[optind], NULL, 10);
+    /* testing error condition on conversion */
+    if (err==LONG_MIN) {
+        perror("Underflow on error code");
+        return 1;
+    } else if (err==LONG_MIN) {
+        perror("Overflow on error code");
+        return 1;
+    }
+    /* conversion is fine */
+    if (message) {
+        printf("Error message for %d is %s\n", err, strerror(err));
+    }
+    if (label) {
+        printf("Error label for %d is %s\n", err, err_code[err]);
+    }