summaryrefslogtreecommitdiff
path: root/sal/workben/t_readline.c
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2009-09-09 09:38:41 +0000
committerOliver Bolte <obo@openoffice.org>2009-09-09 09:38:41 +0000
commitb76cb86eaa0aec1d02c5ff29c5a43e1e7a675b27 (patch)
tree7575d750165f3bbad544795339d673b97bdb956b /sal/workben/t_readline.c
parent78497fa4e72049611317dacf33cad591aca6a8db (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.c58
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;
+}