diff --git a/src/fio.zig b/src/fio.zig index cfacea5..98866b8 100644 --- a/src/fio.zig +++ b/src/fio.zig @@ -215,23 +215,23 @@ pub fn fiobj_type_is(arg_o: FIOBJ, arg_type: fiobj_type_enum) callconv(.C) usize var @"type" = arg_type; while (true) { switch (@bitCast(c_int, @as(c_uint, @"type"))) { - @as(c_int, 1) => return @bitCast(usize, @as(c_long, @boolToInt(((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) != 0) or (@bitCast(c_int, @as(c_uint, @intToPtr([*c]fiobj_type_enum, o)[@intCast(c_uint, @as(c_int, 0))])) == FIOBJ_T_NUMBER)))), - @as(c_int, 6) => return @bitCast(usize, @as(c_long, @boolToInt(!(o != 0) or (o == fiobj_null())))), - @as(c_int, 22) => return @bitCast(usize, @as(c_long, @boolToInt(o == fiobj_true()))), - @as(c_int, 38) => return @bitCast(usize, @as(c_long, @boolToInt(o == fiobj_false()))), - @as(c_int, 40) => return @bitCast(usize, @as(c_long, @boolToInt(((true and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 2))))) or (((@as(c_int, 2) == @as(c_int, 0)) and (((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))))) and (@bitCast(c_int, @as(c_uint, @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @intToPtr(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))])) == FIOBJ_T_STRING))))), + @as(c_int, 1) => return @bitCast(usize, @as(c_long, @intFromBool(((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) != 0) or (@bitCast(c_int, @as(c_uint, @ptrFromInt([*c]fiobj_type_enum, o)[@intCast(c_uint, @as(c_int, 0))])) == FIOBJ_T_NUMBER)))), + @as(c_int, 6) => return @bitCast(usize, @as(c_long, @intFromBool(!(o != 0) or (o == fiobj_null())))), + @as(c_int, 22) => return @bitCast(usize, @as(c_long, @intFromBool(o == fiobj_true()))), + @as(c_int, 38) => return @bitCast(usize, @as(c_long, @intFromBool(o == fiobj_false()))), + @as(c_int, 40) => return @bitCast(usize, @as(c_long, @intFromBool(((true and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 2))))) or (((@as(c_int, 2) == @as(c_int, 0)) and (((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))))) and (@bitCast(c_int, @as(c_uint, @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @ptrFromInt(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))])) == FIOBJ_T_STRING))))), @as(c_int, 42) => { if (true) { - return @bitCast(usize, @as(c_long, @boolToInt(((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0)))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 4))))))); + return @bitCast(usize, @as(c_long, @intFromBool(((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0)))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 4))))))); } - return @bitCast(usize, @as(c_long, @boolToInt((((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6))))) and (@bitCast(c_int, @as(c_uint, @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @intToPtr(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))])) == @bitCast(c_int, @as(c_uint, @"type")))))); + return @bitCast(usize, @as(c_long, @intFromBool((((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6))))) and (@bitCast(c_int, @as(c_uint, @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @ptrFromInt(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))])) == @bitCast(c_int, @as(c_uint, @"type")))))); }, - @as(c_int, 39), @as(c_int, 41), @as(c_int, 43), @as(c_int, 44) => return @bitCast(usize, @as(c_long, @boolToInt((((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6))))) and (@bitCast(c_int, @as(c_uint, @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @intToPtr(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))])) == @bitCast(c_int, @as(c_uint, @"type")))))), + @as(c_int, 39), @as(c_int, 41), @as(c_int, 43), @as(c_int, 44) => return @bitCast(usize, @as(c_long, @intFromBool((((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6))))) and (@bitCast(c_int, @as(c_uint, @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @ptrFromInt(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))])) == @bitCast(c_int, @as(c_uint, @"type")))))), else => {}, } break; } - return @bitCast(usize, @as(c_long, @boolToInt((((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6))))) and (@bitCast(c_int, @as(c_uint, @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @intToPtr(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))])) == @bitCast(c_int, @as(c_uint, @"type")))))); + return @bitCast(usize, @as(c_long, @intFromBool((((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6))))) and (@bitCast(c_int, @as(c_uint, @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @ptrFromInt(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))])) == @bitCast(c_int, @as(c_uint, @"type")))))); } pub fn fiobj_type(arg_o: FIOBJ) callconv(.C) fiobj_type_enum { var o = arg_o; @@ -240,7 +240,7 @@ pub fn fiobj_type(arg_o: FIOBJ) callconv(.C) fiobj_type_enum { if ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) return @bitCast(u8, @truncate(u8, o)); if (true and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 2))))) return @bitCast(u8, @truncate(i8, FIOBJ_T_STRING)); if (true and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 4))))) return @bitCast(u8, @truncate(i8, FIOBJ_T_HASH)); - return @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @intToPtr(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))]; + return @ptrCast([*c]fiobj_type_enum, @alignCast(@import("std").meta.alignment([*c]fiobj_type_enum), @ptrFromInt(?*anyopaque, o & ~@bitCast(usize, @as(c_long, @as(c_int, 7))))))[@intCast(c_uint, @as(c_int, 0))]; } pub extern const FIOBJECT_VTABLE_NUMBER: fiobj_object_vtable_s; pub extern const FIOBJECT_VTABLE_FLOAT: fiobj_object_vtable_s; @@ -271,11 +271,11 @@ pub fn fiobj_obj2num(o: FIOBJ) callconv(.C) isize { const sign: usize = if ((o & ~(~@bitCast(usize, @as(c_long, @as(c_int, 0))) >> @intCast(@import("std").math.Log2Int(usize), 1))) != 0) ~(~@bitCast(usize, @as(c_long, @as(c_int, 0))) >> @intCast(@import("std").math.Log2Int(usize), 1)) | (~(~@bitCast(usize, @as(c_long, @as(c_int, 0))) >> @intCast(@import("std").math.Log2Int(usize), 1)) >> @intCast(@import("std").math.Log2Int(usize), 1)) else @bitCast(c_ulong, @as(c_long, @as(c_int, 0))); return @bitCast(isize, ((o & (~@bitCast(usize, @as(c_long, @as(c_int, 0))) >> @intCast(@import("std").math.Log2Int(usize), 1))) >> @intCast(@import("std").math.Log2Int(c_ulong), 1)) | sign); } - if (!(o != 0) or !(((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))))) return @bitCast(isize, @as(c_long, @boolToInt(o == @bitCast(c_ulong, @as(c_long, FIOBJ_T_TRUE))))); + if (!(o != 0) or !(((o != 0) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 0))))) and ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) != @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))))) return @bitCast(isize, @as(c_long, @intFromBool(o == @bitCast(c_ulong, @as(c_long, FIOBJ_T_TRUE))))); return fiobj_type_vtable(o).*.to_i.?(o); } pub fn fiobj_obj2float(o: FIOBJ) callconv(.C) f64 { - if ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) != 0) return @intToFloat(f64, fiobj_obj2num(o)); + if ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 1)))) != 0) return @floatFromInt(f64, fiobj_obj2num(o)); // the below doesn't parse and we don't support ints here anyway // if (!(o != 0) or ((o & @bitCast(c_ulong, @as(c_long, @as(c_int, 6)))) == @bitCast(c_ulong, @as(c_long, @as(c_int, 6))))) return @intToFloat(f64, o == @bitCast(c_ulong, @as(c_long, FIOBJ_T_TRUE))); return fiobj_type_vtable(o).*.to_f.?(o); @@ -287,7 +287,7 @@ pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s { var ret: fio_str_info_s = fio_str_info_s{ .capa = @bitCast(usize, @as(c_long, @as(c_int, 0))), .len = @bitCast(usize, @as(c_long, @as(c_int, 4))), - .data = @intToPtr([*c]u8, @ptrToInt("null")), + .data = @ptrFromInt([*c]u8, @intFromPtr("null")), }; return ret; } @@ -300,7 +300,7 @@ pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s { var ret: fio_str_info_s = fio_str_info_s{ .capa = @bitCast(usize, @as(c_long, @as(c_int, 0))), .len = @bitCast(usize, @as(c_long, @as(c_int, 4))), - .data = @intToPtr([*c]u8, @ptrToInt("null")), + .data = @ptrFromInt([*c]u8, @intFromPtr("null")), }; return ret; } @@ -310,7 +310,7 @@ pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s { var ret: fio_str_info_s = fio_str_info_s{ .capa = @bitCast(usize, @as(c_long, @as(c_int, 0))), .len = @bitCast(usize, @as(c_long, @as(c_int, 5))), - .data = @intToPtr([*c]u8, @ptrToInt("false")), + .data = @ptrFromInt([*c]u8, @intFromPtr("false")), }; return ret; } @@ -320,7 +320,7 @@ pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s { var ret: fio_str_info_s = fio_str_info_s{ .capa = @bitCast(usize, @as(c_long, @as(c_int, 0))), .len = @bitCast(usize, @as(c_long, @as(c_int, 4))), - .data = @intToPtr([*c]u8, @ptrToInt("true")), + .data = @ptrFromInt([*c]u8, @intFromPtr("true")), }; return ret; } diff --git a/src/mustache.zig b/src/mustache.zig index 49b9624..ea1f448 100644 --- a/src/mustache.zig +++ b/src/mustache.zig @@ -132,7 +132,7 @@ pub fn fiobjectify( } }, .Enum => { - return fio.fiobj_num_new_bignum(@enumToInt(value)); + return fio.fiobj_num_new_bignum(@intFromEnum(value)); }, .Union => { const info = @typeInfo(T).Union; diff --git a/src/util.zig b/src/util.zig index 5aee930..254e6db 100644 --- a/src/util.zig +++ b/src/util.zig @@ -47,7 +47,7 @@ pub fn str2fio(s: []const u8) fio.fio_str_info_s { } pub fn toCharPtr(s: []const u8) [*c]u8 { - return @intToPtr([*c]u8, @ptrToInt(s.ptr)); + return @ptrFromInt([*c]u8, @intFromPtr(s.ptr)); } // diff --git a/src/zap.zig b/src/zap.zig index a3d54e2..cfb88c6 100644 --- a/src/zap.zig +++ b/src/zap.zig @@ -149,9 +149,9 @@ pub const SimpleRequest = struct { } pub fn sendBody(self: *const Self, body: []const u8) HttpError!void { - const ret = fio.http_send_body(self.h, @intToPtr( + const ret = fio.http_send_body(self.h, @ptrFromInt( *anyopaque, - @ptrToInt(body.ptr), + @intFromPtr(body.ptr), ), body.len); debug("SimpleRequest.sendBody(): ret = {}\n", .{ret}); if (ret == -1) return error.HttpSendBody; @@ -160,9 +160,9 @@ pub const SimpleRequest = struct { pub fn sendJson(self: *const Self, json: []const u8) HttpError!void { if (self.setContentType(.JSON)) { - if (fio.http_send_body(self.h, @intToPtr( + if (fio.http_send_body(self.h, @ptrFromInt( *anyopaque, - @ptrToInt(json.ptr), + @intFromPtr(json.ptr), ), json.len) != 0) return error.HttpSendBody; self.markAsFinished(true); } else |err| return err; @@ -250,7 +250,7 @@ pub const SimpleRequest = struct { } pub fn setStatus(self: *const Self, status: http.StatusCode) void { - self.h.*.status = @intCast(usize, @enumToInt(status)); + self.h.*.status = @intCast(usize, @intFromEnum(status)); } /// Sends a file if present in the filesystem orelse returns an error. @@ -850,9 +850,9 @@ pub fn listen(port: [*c]const u8, interface: [*c]const u8, settings: ListenSetti // lower level sendBody pub fn sendBody(request: [*c]fio.http_s, body: []const u8) HttpError!void { - const ret = fio.http_send_body(request, @intToPtr( + const ret = fio.http_send_body(request, @ptrFromInt( *anyopaque, - @ptrToInt(body.ptr), + @intFromPtr(body.ptr), ), body.len); debug("sendBody(): ret = {}\n", .{ret}); if (ret != -1) return error.HttpSendBody; diff --git a/tools/Manifest.zig b/tools/Manifest.zig index 6295ec8..d1cdd90 100644 --- a/tools/Manifest.zig +++ b/tools/Manifest.zig @@ -40,7 +40,7 @@ pub const multihash_function: MultihashFunction = switch (Hash) { comptime { // We avoid unnecessary uleb128 code in hexDigest by asserting here the // values are small enough to be contained in the one-byte encoding. - assert(@enumToInt(multihash_function) < 127); + assert(@intFromEnum(multihash_function) < 127); assert(Hash.digest_length < 127); } pub const multihash_len = 1 + 1 + Hash.digest_length; @@ -118,8 +118,8 @@ test hex64 { pub fn hexDigest(digest: [Hash.digest_length]u8) [multihash_len * 2]u8 { var result: [multihash_len * 2]u8 = undefined; - result[0] = hex_charset[@enumToInt(multihash_function) >> 4]; - result[1] = hex_charset[@enumToInt(multihash_function) & 15]; + result[0] = hex_charset[@intFromEnum(multihash_function) >> 4]; + result[1] = hex_charset[@intFromEnum(multihash_function) & 15]; result[2] = hex_charset[Hash.digest_length >> 4]; result[3] = hex_charset[Hash.digest_length & 15]; @@ -285,7 +285,7 @@ const Parse = struct { @errorName(err), }); }; - if (@intToEnum(MultihashFunction, their_multihash_func) != multihash_function) { + if (@enumFromInt(MultihashFunction, their_multihash_func) != multihash_function) { return fail(p, tok, "unsupported hash function: only sha2-256 is supported", .{}); } } diff --git a/tools/pkghash.zig b/tools/pkghash.zig index 116f73c..f3997fc 100644 --- a/tools/pkghash.zig +++ b/tools/pkghash.zig @@ -335,7 +335,7 @@ fn hashFileFallible(dir: fs.Dir, hashed_file: *HashedFile) HashedFile.Error!void defer file.close(); var hasher = Manifest.Hash.init(.{}); hasher.update(hashed_file.normalized_path); - hasher.update(&.{ 0, @boolToInt(try isExecutable(file)) }); + hasher.update(&.{ 0, @intFromBool(try isExecutable(file)) }); while (true) { const bytes_read = try file.read(&buf); if (bytes_read == 0) break;