Issue #1905 - Part 4b - Fix issue loading the profile and saving changes to the profile. Based on the following Mozilla bugs: 1659904, 1659905 and 1659077.

This commit is contained in:
Brian Smith 2022-06-15 01:27:04 -05:00 • committed by roytam1
commit 7e63a3f440
5 changed files with 24 additions and 13 deletions

View file

@ -1130,6 +1130,14 @@ var declareFFI = function declareFFI(lib, symbol, abi,
throw new TypeError("Missing type for argument " + ( i - 3 ) +
" of symbol " + symbol);
}
// Ellipsis for variadic arguments.
if (current == "...") {
if (i != arguments.length - 1) {
throw new TypeError("Variadic ellipsis must be the last argument");
}
signature.push(current);
continue;
}
if (!current.implementation) {
throw new TypeError("Missing implementation for argument " + (i - 3)
+ " of symbol " + symbol

View file

@ -435,7 +435,7 @@
/*return*/ Type.negativeone_or_fd,
/*path*/ Type.path,
/*oflags*/ Type.int,
/*mode*/ Type.int);
"...");
if (OS.Constants.Sys.Name == "NetBSD") {
libc.declareLazyFFI(SysFile, "opendir",

View file

@ -320,7 +320,7 @@
flags |= Const.O_APPEND;
}
}
return error_or_file(UnixFile.open(path, flags, omode), path);
return error_or_file(UnixFile.open(path, flags, ctypes.int(omode)), path);
};
/**
@ -675,7 +675,7 @@
// If necessary, fail if the destination file exists
if (options.noOverwrite) {
let fd = UnixFile.open(destPath, Const.O_RDONLY, 0);
let fd = UnixFile.open(destPath, Const.O_RDONLY);
if (fd != -1) {
fd.dispose();
// The file exists and we have access