diff options
author | Oliver Bolte <obo@openoffice.org> | 2009-09-09 09:38:41 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2009-09-09 09:38:41 +0000 |
commit | b76cb86eaa0aec1d02c5ff29c5a43e1e7a675b27 (patch) | |
tree | 7575d750165f3bbad544795339d673b97bdb956b /sal/workben/t_readline.c | |
parent | 78497fa4e72049611317dacf33cad591aca6a8db (diff) |
CWS-TOOLING: integrate CWS mhu20
2009-09-01 15:18:43 +0200 mhu r275662 : #i32526# Fixed missing includes, and a wrong cast
2009-08-28 13:30:05 +0200 mhu r275530 : #i32526# Fixed missing includes and remaining merge conflicts.
2009-08-28 13:28:45 +0200 mhu r275529 : #i32526# osl_readLine() now implemented in sal/osl/<platform>/file.cxx
2009-08-26 19:47:53 +0200 mhu r275445 : CWS-TOOLING: rebase CWS mhu20 to trunk@275331 (milestone: DEV300:m56)
2009-08-25 15:47:00 +0200 mhu r275365 : #i32526# Also maintain phys. file offset.
2009-08-25 15:24:56 +0200 mhu r275364 : #i32526# Added buffered file I/O; refactored file.cxx into multiple files.
2009-08-24 10:38:15 +0200 mhu r275294 : #i32526# Correct OpenFlags for osl_openFile().
2009-05-25 11:07:34 +0200 mhu r272225 : #i32526# Added support for non-seekable file handles (pipe et al.).
2009-05-25 11:01:50 +0200 mhu r272223 : #i32526# Add osl_readLine() test, cleanup obsolete tests.
2009-05-25 10:56:14 +0200 mhu r272221 : #i32526# Add missing include
2009-05-25 10:48:51 +0200 mhu r272220 : #i32526# Accept OpenJDK (IcedTea6) 1.6.0_0 version string
2009-05-15 19:18:20 +0200 mhu r271965 : #i32526# Initial osl/unx buffered file I/O implementation.
2009-05-15 17:41:57 +0200 mhu r271959 : CWS-TOOLING: rebase CWS mhu20 to trunk@271830 (milestone: DEV300:m48)
2009-03-26 17:28:53 +0100 mhu r270091 : CWS-TOOLING: rebase CWS mhu20 to trunk@270033 (milestone: DEV300:m45)
Diffstat (limited to 'sal/workben/t_readline.c')
-rw-r--r-- | sal/workben/t_readline.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/sal/workben/t_readline.c b/sal/workben/t_readline.c new file mode 100644 index 000000000000..9cbc7d39cf20 --- /dev/null +++ b/sal/workben/t_readline.c @@ -0,0 +1,58 @@ +/* + * t_readline.c + */ + +#include "osl/file.h" + +#include "osl/diagnose.h" +#include "rtl/ustring.h" +#include "rtl/byteseq.h" + +#include <stdio.h> + +/* main */ +int main (int argc, char ** argv) +{ + if (argc > 1) + { + oslFileError result; + oslFileHandle hFile = 0; + + rtl_uString * pSystemPath = 0; + rtl_uString * pFileUrl = 0; + + rtl_uString_newFromAscii (&pSystemPath, argv[1]); + + result = osl_getFileURLFromSystemPath (pSystemPath, &pFileUrl); + rtl_uString_release (pSystemPath), pSystemPath = 0; + if (result != osl_File_E_None) + return (result); + + result = osl_openFile (pFileUrl, &hFile, osl_File_OpenFlag_Read); + rtl_uString_release (pFileUrl), pFileUrl = 0; + if (result == osl_File_E_None) + { + sal_Sequence * pBuffer = 0; + for ( ;; ) + { + sal_Int32 i, n; + + result = osl_readLine (hFile, &pBuffer); + if (result != osl_File_E_None) + break; +#if 0 + if (pBuffer->elements[0] == 0) + /* @@@ cannot distinguish empty line from EOF @@@ */ + break; +#endif + for (i = 0, n = pBuffer->nElements; i < n; i++) + printf ("%c", (char)(pBuffer->elements[i])); + printf("\n"); + } + + rtl_byte_sequence_release (pBuffer), pBuffer = 0; + (void) osl_closeFile (hFile); + } + } + return 0; +} |