Modified Files: glib/ChangeLog glib/glib.def glib/glib/giochannel.c

Modified Files:
 	glib/ChangeLog glib/glib.def glib/glib/giochannel.c
 	glib/glib/giochannel.h glib/glib/giounix.c
 	glib/glib/giowin32.c
 	glib/docs/reference/glib/glib-sections.txt
 	glib/tests/iochannel-test.c glib/tests/unicode-collate.c
 	glib/tests/unicode-normalize.c
     Added Files:
 	glib/tests/iochannel-test-infile

        * glib/giochannel.c: API changes, fixes to
        error handling, some internal restructuring
        * glib/giochannel.h: API changes, documentation for
        elements in GIOChannel structure
        * glib/giounix.c: Matched API changes, implemented
        backend to set is_readable, is_writeable, is_seekable
        flags, added a test to catch large values of count
        for which the behavior of write() is undefined
        * glib/giowin32.c: Changed to match new prototypes for
        io_close() and io_seek(), removed references to
        G_IO_STATUS_INTR, set is_seekable flag in channel
        creation functions
        * glib.def: Renamed g_channel_error_quark() and
        g_channel_error_from_errno() to g_io_channel_error_quark() and
        g_io_channel_error_from_errno(); added new functions
        g_io_channel_get_buffered() and g_io_channel_set_buffered()
        * docs/reference/glib/glib-sections.txt: Modified iochannel
        section to reflect new functions and API changes
        * tests/iochannel-test.c: Fixed to work with API changes
        * tests/iochannel-test-infile: New file; input file
        for iochannel-test
        * tests/unicode-collate.c tests/unicode-normalize.c:
        Changed G_IO_FILE_MODE_READ to "r" to match API change
This commit is contained in:
Ron Steinke
2001-07-20 20:14:37 +00:00
parent c71a77a520
commit e070fdea39
18 changed files with 1302 additions and 508 deletions

View File

@@ -0,0 +1,5 @@
Line one
Line two
Line three
/* Hello */
\x1234\x567890\x6666

View File

@@ -19,43 +19,42 @@ gint main (gint argc, gchar * argv[])
GIOStatus status;
GIOFlags flags;
if (argc < 2)
{
g_print( "Usage: foo in-file\n" );
exit (1);
}
setbuf(stdout, NULL); /* For debugging */
gio_r = g_io_channel_new_file (argv[1], G_IO_FILE_MODE_READ, &gerr);
if(gerr) {
g_warning(gerr->message);
g_warning("Unable to open file %s", argv[1]);
g_free(gerr);
return 0;
}
gio_w = g_io_channel_new_file( "/var/tmp/fooOut.txt", G_IO_FILE_MODE_WRITE, &gerr);
if(gerr) {
g_warning(gerr->message);
g_free(gerr);
return 0;
}
gio_r = g_io_channel_new_file ("iochannel-test-infile", "r", &gerr);
if (gerr)
{
g_warning(gerr->message);
g_warning("Unable to open file %s", "iochannel-test-infile");
g_free(gerr);
return 0;
}
gio_w = g_io_channel_new_file( "iochannel-test-outfile", "w", &gerr);
if (gerr)
{
g_warning(gerr->message);
g_warning("Unable to open file %s", "iochannel-test-outfile");
g_free(gerr);
return 0;
}
g_io_channel_set_encoding (gio_r, encoding, &gerr);
if(gerr) {
g_warning(gerr->message);
g_free(gerr);
return 0;
}
if (gerr)
{
g_warning(gerr->message);
g_free(gerr);
return 0;
}
g_io_channel_set_buffer_size (gio_r, BUFFER_SIZE);
status = g_io_channel_set_flags (gio_r, G_IO_FLAG_NONBLOCK, &gerr);
if(status == G_IO_STATUS_ERROR) {
g_warning(gerr->message);
g_error_free(gerr);
gerr = NULL;
}
if (status == G_IO_STATUS_ERROR)
{
g_warning(gerr->message);
g_error_free(gerr);
gerr = NULL;
}
flags = g_io_channel_get_flags (gio_r);
block = ! (flags & G_IO_FLAG_NONBLOCK);
if (block)
@@ -106,9 +105,6 @@ gint main (gint argc, gchar * argv[])
{
case G_IO_STATUS_EOF:
break;
case G_IO_STATUS_PARTIAL_CHARS:
g_warning ("Partial characters at the end of input.");
break;
case G_IO_STATUS_ERROR:
g_warning (gerr->message);
g_error_free (gerr);
@@ -123,11 +119,12 @@ gint main (gint argc, gchar * argv[])
status = g_io_channel_flush (gio_w, &gerr);
while (status == G_IO_STATUS_AGAIN);
if(status == G_IO_STATUS_ERROR) {
g_warning(gerr->message);
g_error_free(gerr);
gerr = NULL;
}
if (status == G_IO_STATUS_ERROR)
{
g_warning(gerr->message);
g_error_free(gerr);
gerr = NULL;
}
g_print ("read %d bytes, wrote %d bytes\n", rlength, wlength);

View File

@@ -42,7 +42,7 @@ int main (int argc, char **argv)
if (argc == 2)
{
in = g_io_channel_new_file (argv[1], G_IO_FILE_MODE_READ, &error);
in = g_io_channel_new_file (argv[1], "r", &error);
if (!in)
{
fprintf (stderr, "Cannot open %s: %s\n", argv[1], error->message);

View File

@@ -141,7 +141,7 @@ int main (int argc, char **argv)
if (argc == 3)
line_to_do = atoi(argv[2]);
in = g_io_channel_new_file (argv[1], G_IO_FILE_MODE_READ, &error);
in = g_io_channel_new_file (argv[1], "r", &error);
if (!in)
{
fprintf (stderr, "Cannot open %s: %s\n", argv[1], error->message);