Commit Graph

1003 Commits

Author SHA1 Message Date
Dmitry Timoshkov
8811628cff Add a test for opening an already opened file for writing in a not
compatible sharing mode.
2004-05-22 03:14:17 +00:00
Christian Costa
fe0460fd2f Added some traces to kernel file functions. 2004-05-22 03:13:56 +00:00
Alexandre Julliard
eb04fd22f8 Converted the memory views list to use the standard functions from
wine/list.h.
Restructured some functions to always return proper NT status codes.
A couple of optimizations.
Added a few tests for file mappings.
2004-05-21 20:58:44 +00:00
Alexandre Julliard
16fe224275 Don't use the Wine debug functions.
Fixed wrong A/W length checks.
2004-05-20 01:19:05 +00:00
Eric Pouech
df93f2eeee GetModuleFileName[AW] doesn't terminate the string if the buffer is
too small.
2004-05-19 03:22:55 +00:00
Eric Pouech
bde649c356 Added some missing prototypes. 2004-05-18 20:43:29 +00:00
Patrik Stridvall
070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Alexandre Julliard
8c29b5f0cc Removed the no longer used SMB file I/O support, we can't do reliable
file I/O in user space anyway.
2004-05-14 22:24:48 +00:00
Alexandre Julliard
ad546918b4 Use environment variables instead of config file entries to specify
path, profile, temp, windows and system directories.
Convert existing config file entries to registry values under
HKCU\Environment.
2004-05-14 21:43:18 +00:00
Alexandre Julliard
6ab8827236 Set environment variables from the HKCU\Environment key too.
Moved current directory initialisation to process.c.
Make sure to always pass the correct current directory in the process
parameters for child processes.
2004-05-14 05:03:29 +00:00
Alexandre Julliard
3c3d23063c Fixed some of the GetShortPathName tests to use the short version of
the current directory where needed.
2004-05-14 04:55:28 +00:00
Alexandre Julliard
0d33e5e32d Added proper support for switching file APIs between ANSI and OEM
codepages. Optimized some of the A->W conversions by using the
per-thread Unicode string buffer.
2004-05-13 20:21:25 +00:00
Dimitrie O. Paun
f950d97381 Remove the last remaining wine options when running programs.
Keep support for --help, and --version when they are the only options
on the command line.
2004-05-06 23:51:43 +00:00
Alexandre Julliard
0a19a07ecf Set additional environment variables at startup from
HKLM\System\CurrentControlSet\Control\Session Manager\Environment.
2004-05-05 22:05:18 +00:00
Alexandre Julliard
ab92cfe0a0 Replaced LPINPUT_RECORD by PINPUT_RECORD. 2004-05-05 05:54:44 +00:00
Francois Gouget
cfc3943c5f Make our ascii strings static const.
Remove a couple string variables that were used only once and use the
string literal directly.
2004-05-04 04:13:05 +00:00
Alexandre Julliard
db50578ddc Avoid killing threads with TerminateThread, this can cause deadlocks. 2004-05-04 00:43:46 +00:00
Alexandre Julliard
a11b2bbafb Updated the auto-generated tests. 2004-05-04 00:41:11 +00:00
Alexandre Julliard
9759474371 Make GetVolumeInformation default to reporting NTFS for non-FAT
filesystems.
2004-05-03 20:22:07 +00:00
Alexandre Julliard
2f8fd10647 OF_CREATE should force write access in OpenFile. 2004-05-03 20:20:54 +00:00
Aric Stewart
a56eadc92d Strip leading whitespace when adding a new value and not just when
replacing a current value.
2004-05-03 20:18:43 +00:00
Jakob Eriksson
7874ce53bd Prevent from crashing/hanging in Windows 95 OSR2. 2004-05-03 20:07:24 +00:00
Alexandre Julliard
643617f2ae Moved most remaining file functions to dlls/kernel.
Removed files/file.c and include/file.h.
2004-05-01 05:25:07 +00:00
Alexandre Julliard
cba2fcaf61 Fixed last error code check in GetVolumeInformationW, opening a
non-existent device returns ERROR_FILE_NOT_FOUND now.
2004-05-01 03:05:36 +00:00
Alexandre Julliard
b592cbbc18 Reimplemented GetFileType and SetEndOfFile using ntdll functions. 2004-05-01 02:44:00 +00:00
Alexandre Julliard
d4874d6406 Added a few more info classes in NtQueryInformationFile.
Use NT file names in CreateNamedPipeW.
Reimplemented GetFileInformationByHandle, GetFileSize and GetFileTime
using ntdll functions.
2004-04-30 21:03:09 +00:00
Uwe Bonnes
6ebf8b494c Fixed buffer overflow. 2004-04-30 18:34:34 +00:00
Alexandre Julliard
07ddc60c04 Use RtlDosPathNameToNtPathName_U to build the registry entries for
MOVEFILE_DELAY_UNTIL_REBOOT.
2004-04-30 04:16:23 +00:00
Alexandre Julliard
c749433e26 Create the system heap event before the shared mapping to avoid a race
condition.
2004-04-29 20:02:01 +00:00
Alexandre Julliard
553a75e16e Use symlinks in dosdevices/ for the drive devices too.
Store drive types in the registry instead of in the config file.
Added some more code to convert existing config to the new scheme.
2004-04-29 00:27:57 +00:00
Alexandre Julliard
c349d7d297 Removed a number of internal file functions that are no longer used. 2004-04-28 03:53:19 +00:00
Jakob Eriksson
c49b9485df Fixed tests to succeed on all Windows versions. 2004-04-28 03:52:02 +00:00
Alexandre Julliard
06c46d9aab Reimplemented Get/SetCurrentDirectoryW using the corresponding ntdll
functions.
2004-04-28 01:04:24 +00:00
Alexandre Julliard
74f583ed19 DefineDosDeviceW: implemented the DDD_REMOVE_DEFINITION flag. 2004-04-27 02:43:40 +00:00
Alexandre Julliard
115862146a Removed todo_wine from some tests that succeed now. 2004-04-27 02:27:47 +00:00
Alexandre Julliard
ad9b799324 Reimplemented CreateDirectoryW and RemoveDirectoryW using ntdll
functions.
2004-04-27 02:27:09 +00:00
Alexandre Julliard
cf67839bc4 Pass the creation disposition to wine_nt_to_unix_file_name so that it
can return the correct error code in all cases.
Changed MoveFileExW to use wine_nt_to_unix_file_name to avoid
computing the NT name twice.
Fixed crash in GetDriveTypeW with a NULL root.
2004-04-27 02:15:52 +00:00
Duane Clark
d6c537b43c Add testing of PeekNamedPipe, multiple writes, and message mode. 2004-04-26 23:30:51 +00:00
Alexandre Julliard
a2963dacc3 Reimplemented GetLogicalDrives, GetLogicalDriveStrings and
GetDriveType using the new symlink mechanism.
Made GetDriveType attempt to autodetect the type if not specified in
the registry.
2004-04-23 23:31:58 +00:00
Alexandre Julliard
223fcdff77 Moved support for opening DOS device files to ntdll. 2004-04-23 03:22:34 +00:00
Alexandre Julliard
9db147e5e4 Make DIR_nt_to_unix return STATUS_NO_SUCH_FILE instead of
STATUS_OBJECT_NAME_NOT_FOUND to indicate that the last component
didn't exist to allow distinguishing it from legitimate errors.
Export it from ntdll, renamed to wine_nt_to_unix_file_name.
2004-04-23 02:46:18 +00:00
Jakob Eriksson
960104b249 When the Windows directory was something else than C:\WINDOWS
test_GetTempFileNameA() failed.
2004-04-22 23:44:14 +00:00
Alexandre Julliard
31a7a7847e Changed MoveFileEx to use ntdll functions, and moved it to
dlls/kernel/path.c.
2004-04-21 22:27:34 +00:00
Emmanuel Maillard
9731286324 GetSystemInfo support for Darwin. 2004-04-21 22:22:09 +00:00
Alexandre Julliard
e4409325d2 Reimplemented GetFileAttributesExW and GetCompressedFileSizeW using
the corresponding ntdll functionality.
2004-04-20 04:06:49 +00:00
Francois Gouget
52c0832161 Make Unicode strings static const. 2004-04-20 01:12:17 +00:00
Alexandre Julliard
174e2a6464 Reimplemented GetFileAttributesW, SetFileAttributesW and SetFileTime
using the corresponding ntdll functionality.
2004-04-20 00:36:29 +00:00
Francois Gouget
6a6c85c6d8 Make Unicode const strings static so they are not copied to the stack
each time we enter the function.
2004-04-19 20:12:14 +00:00
Alexandre Julliard
769a4bb586 Fixed ntdll_wcstoumbs and WideCharToMultiByte to set the 'used' flag
for UTF-8 codepage too. This was causing DIR_nt_to_unix to fail in
some cases (tracked down with help from Alex Pasadyn).
2004-04-19 03:05:07 +00:00
Alexandre Julliard
d1051870db Reimplemented GetDiskFreeSpaceW and GetDiskFreeSpaceExW on top of the
corresponding ntdll functions.
2004-04-17 00:30:09 +00:00
Alexandre Julliard
a9832be1a7 Make FindFirstFileExW and FindFirstChangeNotificationW use NtOpenFile
directly so that they can take advantage of the FILE_DIRECTORY_FILE
option.
2004-04-17 00:26:54 +00:00
Alexandre Julliard
716878c5b1 Fixed a number of NT status values to be closer to NT behavior. 2004-04-16 23:32:40 +00:00
Alexandre Julliard
dfcfc98ed0 RtlSetCurrentDirectory_U: store a handle to the current directory
along with its name.
2004-04-16 05:00:46 +00:00
Alexandre Julliard
186b419e02 Added hack to fetch the current directory from the subsystem tid so
that it is handled correctly in ntdll also for 16-bit tasks.
2004-04-16 00:10:03 +00:00
Alexandre Julliard
bd1fdeddaa Update the drive environment strings when changing the current
directory from 16-bit or DOS code.
2004-04-16 00:08:11 +00:00
Alexandre Julliard
a45931c6f3 Get rid of the TEB flags, they are no longer used. 2004-04-15 05:04:53 +00:00
Alexandre Julliard
fba7149a2d Started implementing support for the SubSystemTib field in the TEB of
16-bit threads. This allows GetModuleFileNameW to avoid calling 16-bit
functions.
2004-04-15 00:04:05 +00:00
Alexandre Julliard
1cb0cf4ced Moved wine_get_unix_file_name implementation to ntdll, and changed it
to return an allocated buffer instead of a fixed size one.
2004-04-14 19:40:53 +00:00
Rein Klazes
0d34501876 Add missing POSIX baud rates to GetCommState and SetCommState. 2004-04-14 19:33:27 +00:00
Alexandre Julliard
1a833442a1 Replaced create_file server requests by a call to NtCreateFile. 2004-04-14 04:31:55 +00:00
Christian Costa
51b37e1abc Fixed typo. 2004-04-13 21:16:26 +00:00
Alexandre Julliard
693a3cd049 Create the devices earlier on during startup. 2004-04-12 22:12:43 +00:00
Rein Klazes
cef3983703 Fix GetCommState and SetCommState, so that these functions can be used
to set/clear/read the DTR and RTS lines.
2004-04-12 22:06:52 +00:00
Aric Stewart
d1e1bcb9df Empty values need to be preserved as empty values and not assumed to
be nonexistent values.
2004-04-08 19:06:54 +00:00
Alexandre Julliard
743997fa38 Replace the get_file_info request by an fstat() on the client side. 2004-04-08 04:39:59 +00:00
Alexandre Julliard
49b2f6d964 Get rid of the removable media handling in the server. 2004-04-06 23:41:01 +00:00
Lionel Ulmer
91d63c0cb6 Add better NULL checks to lstrcmp[i](A/W) functions. 2004-04-05 20:14:33 +00:00
Alexandre Julliard
c4c4da4e07 Reimplemented DeleteFile by using CreateFile with
FILE_FLAG_DELETE_ON_CLOSE. Added/fixed a few tests.
2004-04-03 00:05:24 +00:00
Alexandre Julliard
b70e0c8ea6 Removed the FailReadOnly option, this is now the default behavior. 2004-04-02 23:33:39 +00:00
Alexandre Julliard
6b1a93114a Don't try to get the file time if the file wasn't found. 2004-04-02 19:39:37 +00:00
Hans Leidekker
687197d8ba GetConsoleInfo() pseudo stub. 2004-04-02 19:18:51 +00:00
Raphael Junqueira
b9f45e7a70 Added some stubs. 2004-04-01 02:12:41 +00:00
Alexandre Julliard
0701b0748c Get the drive root directories from the symlinks in dosdevices/ if
they exist.
Added creation of drive symlinks in the device transition code.
2004-03-30 21:19:00 +00:00
Alexandre Julliard
21e5909ac1 Added support for DOS drives in QueryDosDevice and DefineDosDevice. 2004-03-30 21:00:07 +00:00
Dmitry Timoshkov
96db7b27f8 Add CP932, CP936, CP949 and CP950 to the charset map. 2004-03-30 20:38:24 +00:00
Mike McCormack
1cf04bd70a Fix builtin NE module refcounting of 32bit parent. 2004-03-30 20:37:33 +00:00
Ivan Leo Murray-Smith
f1e5356f04 WINE_FILEDESCRIPTION_STR is already defined in wine_common_ver.rc. 2004-03-29 23:05:20 +00:00
Dmitry Timoshkov
9c637f4322 Add Traditional Chinese Big5 and Simplified Chinese GBK mappings. 2004-03-29 22:55:46 +00:00
Mike McCormack
7b8d745a4f Use CreateEventW in preference to CreateEventA. 2004-03-29 20:26:39 +00:00
Alexandre Julliard
74bd1e47ed Check file sharing permissions based on the file inode instead of the
file name.
Added regression test for sharing permissions.
2004-03-27 20:48:42 +00:00
Alexandre Julliard
27a2004430 Fixed GetDriveType16 return value for non-existent drives.
Fixed bug in OpenFile16 introduced by previous change.
2004-03-26 02:29:48 +00:00
Alexandre Julliard
dbecf5c911 Store the windows and system directories as long path names.
Moved GetTempPath and GetTempDrive to dlls/kernel.
2004-03-26 01:07:34 +00:00
Alexandre Julliard
af16aac743 Reimplemented SearchPathW using ntdll functions. 2004-03-25 23:41:04 +00:00
Alexandre Julliard
5bfafc9d7d Split OpenFile implementation in separate 16- and 32-bit versions, and
changed it to use exported APIs instead of internal functions where
possible.
2004-03-25 05:36:08 +00:00
Alexandre Julliard
ed8a17fb1b Changed LoadLibraryEx32W16 to use OpenFile16 to look for the file
instead of DIR_SearchPath.
2004-03-25 05:32:05 +00:00
Alexandre Julliard
9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Francois Gouget
b948778660 Assorted spelling fixes. 2004-03-23 23:20:16 +00:00
Uwe Bonnes
bb2724eaba Added tests for time functions. 2004-03-22 21:12:02 +00:00
Alexandre Julliard
1de20ae4af Rewrote handling of COM and LPT devices to use symlinks in
$WINEPREFIX/dosdevices, with suitable defaults if the symlinks are
missing.
Rewrote QueryDosDevice and DefineDosDevice to use the new scheme.
Added temporary code to create the symlinks based on the contents of
the config file.
2004-03-20 02:28:51 +00:00
Ulrich Czekalla
eebc3ef949 Fix typo in FormatMessageW. 2004-03-19 19:15:54 +00:00
Ulrich Czekalla
cf5775fd09 Convert FormatMessageW to use unicode functions. 2004-03-19 01:52:10 +00:00
Raphael Junqueira
401853557a Remove duplicate code by using Nt* functions for PulseEvent,
ResetEvent and SetEvent.
2004-03-18 01:36:09 +00:00
Richard Cohen
47323d2f1e Added some traces. 2004-03-18 01:34:57 +00:00
Alexandre Julliard
8f032165c4 Reimplemented FindFirstFile/FindNextFile on top of
NtQueryDirectoryFile.
2004-03-17 20:57:09 +00:00
Richard Cohen
c1e995d59f Fix relative screen resizing. 2004-03-17 20:48:57 +00:00
Alexandre Julliard
cfc5d57122 Retrieve a short name in GetShortPathNameW if the long name contains
spaces.
2004-03-17 01:55:01 +00:00
Raphael Junqueira
919605c8be Added stub for SignalObjectAndWait. 2004-03-17 01:43:47 +00:00
Jukka Heinonen
54a8a25b5e DPMI programs now handle pending events. 2004-03-16 01:15:11 +00:00
Jukka Heinonen
37213d2ba1 Emulating STI instruction now raises an exception if there are pending
events.
2004-03-15 20:09:41 +00:00
Alexandre Julliard
fc6fbd01d4 We no longer need to pass --debugmsg -all to winedbg. 2004-03-12 02:05:11 +00:00
Alexandre Julliard
8a37297fe8 Get rid of the WINEOPTIONS variable and instead use WINEDEBUG to
inherit debug options.
Start deprecating the --debugmsg option.
2004-03-11 23:22:29 +00:00
Alexandre Julliard
e9871b0b68 The OpenConsoleW inherit argument is a boolean not a
SECURITY_ATTRIBUTES pointer.
2004-03-11 22:46:27 +00:00
Alexandre Julliard
a98a37cde5 Do not put the TEMP and TMP variables into the Unix environment, use
WINETEMP and WINETMP instead, like we already do for PATH.
2004-03-11 00:49:01 +00:00
Alexandre Julliard
805f0699eb Remove the WINEDEBUG variable from the environment of the debugger
process.
2004-03-11 00:47:49 +00:00
Alexandre Julliard
62b6bef318 Moved a number of 16-bit functions to file16.c. 2004-03-10 02:20:40 +00:00
Alexandre Julliard
8045ad5c0e Removed some unnecessary definitions from file.h.
Got rid of drive.h.
2004-03-09 23:51:02 +00:00
Alexandre Julliard
954c570ae3 Reimplemented GetVolumeInformation and SetVolumeLabel; volume label
and serial number are now stored in the filesystem instead of in the
config file (partly based on a patch by Eric Pouech).
2004-03-09 01:03:03 +00:00
Dmitry Timoshkov
fccd869b3e Do not take into account LC_CTYPE and LC_MESSAGES while detecting a
user locale.
2004-03-09 00:41:00 +00:00
Rein Klazes
2ce96b45a0 Implemented GetDaylightFlag. 2004-03-03 02:17:58 +00:00
Alexandre Julliard
589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Patrik Stridvall
8f9b09e947 Fixed some issues found by winapi_check. 2004-02-27 21:32:54 +00:00
Patrik Stridvall
885450a38e Added proper headers for the *ActCtx* functions. 2004-02-27 21:28:34 +00:00
Dimitrie O. Paun
475cdcba8c Remove the win32 debug channel, misc cleanup of debugging code. 2004-02-26 05:30:54 +00:00
Mike Hearn
e16426b082 Use time rather than win32 debug channel for kernel time functions. 2004-02-26 05:29:55 +00:00
Alexandre Julliard
b65d13605c Fixed callers of GetLocaleInfoW to use the correct buffer size. 2004-02-25 01:35:01 +00:00
Alexandre Julliard
f39be9ff48 Return the right error code for non-existent VxD modules. 2004-02-25 01:31:17 +00:00
Alexandre Julliard
1a87dc42e2 Removed some of the DOS device hacks (based on a patch by Eric
Pouech).
2004-02-24 01:15:12 +00:00
Uwe Bonnes
9ffce00940 Pass inherit handle flag properly for CreateNamedPipe. 2004-02-24 01:06:30 +00:00
Alexandre Julliard
6c8147b1d1 Allow the implementation of the VxDCall entry points to be moved to
separate VxD dlls.
Moved VMM code to a separate dll, and removed the registry calls to
get rid of the code duplication with advapi32.
2004-02-21 04:13:56 +00:00
Patrik Stridvall
ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Alexandre Julliard
4d984fd9c1 Create real file handles for VxDs instead of using the server device
object hack (partly based on a patch by Eric Pouech).
2004-02-20 05:22:20 +00:00
Alexandre Julliard
a21cf075a8 Added support for implementing VxDs as separate dlls and loading them
on demand.
Moved all the DeviceIoControl code into the respective VxD dlls.
2004-02-20 01:18:43 +00:00
Marcus Meissner
0462858eac Support emulation of the privileged mov dr7,eax instruction. 2004-02-17 22:46:06 +00:00
Alexandre Julliard
492ac292b9 Added support for building a dll from a .def file for cases where we
don't want to write a full .spec.
Renamed --spec option to --dll for consistency.
2004-02-17 20:36:16 +00:00
Alexandre Julliard
850ee4ba4e Authors: David Hammerton <david@transgaming.com>, Mike McCormack <mike@codeweavers.com>
Completed PeekNamedPipe implementation.
2004-02-12 20:03:53 +00:00
Alexandre Julliard
c1acebc305 Get rid of the flatthunk.h header. 2004-02-12 01:03:55 +00:00
Alexandre Julliard
e92b7eed7e Store the kernel32 module handle globally to avoid some
GetModuleHandle calls that can cause deadlocks with the loader
section.
Moved some 16-bit definitions out of kernel_private.h.
2004-02-12 00:00:55 +00:00
Dmitry Timoshkov
d40ec6f8a2 Fix a couple of copy/paste errors. 2004-02-10 20:07:56 +00:00
Francois Gouget
ad5ff7ceeb Assorted spelling and case fixes. 2004-02-09 22:07:42 +00:00
Dmitry Timoshkov
f323d5d31b Add a test case for Virtual* APIs, fix a few bugs discovered by it. 2004-02-09 20:58:16 +00:00
Dmitry Timoshkov
13081af50a Allow compilation with MSVC. 2004-02-09 20:48:12 +00:00
Alexandre Julliard
5fdc57ef5c Added memchrW and memrchrW to the exported Unicode functions. 2004-02-07 02:24:15 +00:00
Alexandre Julliard
31f3221535 Added missing parameter check in SetLocaleInfoA revealed by the
profile code changes.
2004-02-07 02:21:31 +00:00
Robert Shearman
e7ad75adf4 - Use Win32 instead of Unix file functions.
- Process files fully in Unicode.
- Add Unicode file detection.
2004-02-07 02:18:51 +00:00
Bill Medland
8d94d1925d Correct GetNumberFormat for negative numbers with e.g. 3 leading
digits.
2004-02-07 01:28:45 +00:00
Alexandre Julliard
f19c9e7cdd Get pointer to CreateFileW earlier on during startup.
Make sure we don't crash when loading a dll before the modref for the
main exe has been created.
2004-02-07 01:11:54 +00:00
Francois Gouget
afd3c257bd Add trailing '\n's to ok() calls. 2004-02-06 05:24:34 +00:00
Alexandre Julliard
163396b955 Revert the thread exit race fix for now, it doesn't work right on
pthreads.
2004-02-05 17:45:31 +00:00
Alexandre Julliard
4fac95df3d Fixed a couple of race conditions in the wine_pthread routines at
thread startup and exit.
2004-02-05 02:01:35 +00:00
Hans Leidekker
ff49652ef6 Improved error reporting.
Add some notification types and a test.
2004-02-05 01:45:58 +00:00
Mike McCormack
edf9eb6eea Fix incorrect GetLongPathName usage exposed by Eric's filename
patches.
2004-02-05 01:23:42 +00:00
Jon Griffiths
32376a5227 Add stubs for the Activation Context API (XP+). 2004-01-30 22:57:21 +00:00
Alexandre Julliard
23ff2d51a7 Make sure that there is extra information in the exception record
before accessing it in check_resource_write.
2004-01-28 21:40:01 +00:00
Francois Gouget
ce7c3b50ac Add trailing '\n's to ok() calls. 2004-01-27 20:13:03 +00:00
Dmitry Timoshkov
69c047a10c Use case insensitive comparison with pseudo console handle names in
OpenConsole.
2004-01-27 20:11:53 +00:00
Francois Gouget
6b6ed724ae Add missing '\n's to debug traces. 2004-01-27 00:01:43 +00:00
Francois Gouget
e18aa3f614 Add trailing '\n's to ok() calls. 2004-01-26 20:23:25 +00:00
Francois Gouget
47e116225a Add trailing '\n's to ok() calls. 2004-01-23 20:50:35 +00:00
Francois Gouget
7494b5b980 Add trailing '\n's to ok() calls.
Check whether _MSC_VER is defined.
2004-01-23 02:11:12 +00:00
Francois Gouget
f229c911b5 Add trailing '\n's to ok() calls. 2004-01-23 02:10:33 +00:00