printers BUGFIX signed return value
diff --git a/src/printer_data.c b/src/printer_data.c
index 1f29523..a554e01 100644
--- a/src/printer_data.c
+++ b/src/printer_data.c
@@ -53,7 +53,7 @@
 
     if (ret) {
         /* error */
-        return (-1) * ret;
+        return (-1) * (signed)ret;
     } else {
         /* success */
         return (ssize_t)(out->printed - printed_prev);
diff --git a/src/printer_schema.c b/src/printer_schema.c
index acd00a2..61a6c27 100644
--- a/src/printer_schema.c
+++ b/src/printer_schema.c
@@ -60,7 +60,7 @@
 
     if (ret) {
         /* error */
-        return (-1) * ret;
+        return (-1) * (signed)ret;
     } else {
         /* success */
         return (ssize_t)(out->printed - printed_prev);
@@ -174,7 +174,7 @@
 
     if (ret) {
         /* error */
-        return (-1) * ret;
+        return (-1) * (signed)ret;
     } else {
         /* success */
         return (ssize_t)(out->printed - printed_prev);