diff --git a/editors/awk.c b/editors/awk.c
index 71abca2..fa3fc89 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -190,7 +190,7 @@ typedef struct tsplitter_s {
 
 /* combined token classes */
 #define	TC_BINOP   (TC_BINOPX | TC_COMMA | TC_PIPE | TC_IN)
-#define	TC_UNARYOP (TC_UOPPRE | TC_UOPPOST)
+//#define	TC_UNARYOP (TC_UOPPRE | TC_UOPPOST)
 #define	TC_OPERAND (TC_VARIABLE | TC_ARRAY | TC_FUNCTION \
                    | TC_BUILTIN | TC_GETLINE | TC_SEQSTART | TC_STRING | TC_NUMBER)
 
@@ -1990,8 +1990,8 @@ static int fmt_num(char *b, int size, const char *format, double n, int int_as_i
 	char c;
 	const char *s = format;
 
-	if (int_as_int && n == (int)n) {
-		r = snprintf(b, size, "%d", (int)n);
+	if (int_as_int && n == (long long)n) {
+		r = snprintf(b, size, "%lld", (long long)n);
 	} else {
 		do { c = *s; } while (c && *++s);
 		if (strchr("diouxX", c)) {
@@ -2707,7 +2707,7 @@ static var *evaluate(node *op, var *res)
 
 			switch (opn) {
 			case F_in:
-				R_d = (int)L_d;
+				R_d = (long long)L_d;
 				break;
 
 			case F_rn:
@@ -2905,7 +2905,7 @@ static var *evaluate(node *op, var *res)
 			case '%':
 				if (R_d == 0)
 					syntax_error(EMSG_DIV_BY_ZERO);
-				L_d -= (int)(L_d / R_d) * R_d;
+				L_d -= (long long)(L_d / R_d) * R_d;
 				break;
 			}
 			debug_printf_eval("BINARY/REPLACE result:%f\n", L_d);
-- 
1.7.3.4

