mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-01 15:03:39 +02:00
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:
5
tests/iochannel-test-infile
Normal file
5
tests/iochannel-test-infile
Normal file
@@ -0,0 +1,5 @@
|
||||
Line one
|
||||
Line two
|
||||
Line three
|
||||
/* Hello */
|
||||
\x1234\x567890\x6666
|
@@ -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);
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user