summaryrefslogtreecommitdiff
path: root/gscanner.c
AgeCommit message (Collapse)Author
2000-07-26applied patch from Andreas Persenius <ndap@swipnet.se> that updates theTim Janik
Wed Jul 26 12:59:31 2000 Tim Janik <timj@gtk.org> * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that updates the license headers to the GNU Lesser General Public License, as well as updating the copyright year to 2000.
2000-07-20Mark the functions g_hash_table_freeze, g_hash_table_thaw and thusSebastian Wilhelmi
2000-07-20 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * ghash.c, gscanner.c, glib.h: Mark the functions g_hash_table_freeze, g_hash_table_thaw and thus g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table deprecated. They will issue an warning once, when compiled with G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
2000-05-19fixed SIZEOF_LONG==4 assumption with ENABLE_MEM_CHECK, from Art HaasTim Janik
Fri May 19 09:00:44 2000 Tim Janik <timj@gtk.org> * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>. * gslist.c (g_slist_reverse): shut up compiler. * gscanner.c (g_scanner_get_token_ll): removed inline assignment. * garray.c: remove index>=0 checks for unsigned indices. * gmain.c (g_idle_prepare): timeout assignment fix. * gtree.c (g_tree_node_rotate_right): shut up compiler.
2000-05-12added gobjectTim Janik
Fri Apr 28 23:54:35 2000 Tim Janik <timj@gtk.org> * setup things for a new sub-library libgobject: * Makefile.am (SUBDIRS): added gobject * glib-config.in: feature -lgobject. * configure.in (AC_OUTPUT): generate gobject/Makefile. * glib.m4 (AM_PATH_GLIB): feature gobject module. * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.* Fri Apr 28 21:41:49 2000 Tim Janik <timj@gtk.org> * glib.h: added G_STRLOC macro. G_STRUCT_OFFSET(): signedness corrections. (G_CSET_DIGITS): list 0-9. * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS. * glib.h: * gstrfuncs.c: (g_strdown): (g_strup): (g_strreverse): return the modified string instead of void, so calls to these functions can be nested. (g_strcanon): new function, canonicalizes string according to a given character set. Fri Apr 28 19:45:16 2000 Tim Janik <timj@gtk.org> * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
2000-04-19make sure that scanner->config->cset_skip_characters is "" instead ofTim Janik
Wed Apr 19 08:32:32 2000 Tim Janik <timj@gtk.org> * gscanner.c (g_scanner_new): make sure that scanner->config->cset_skip_characters is "" instead of NULL, so we don't segfault further on.
1999-10-04G_OS_FOO #defines. I *think* I got the cygwin and beos stuff right, butManish Singh
I haven't tested it. The respective porters should fix any screwups -Yosh
1999-07-2418:36. incorporated proposed cleanups from gtk-devel-list.Tim Janik
Sat Jul 24 20:11:35 1999 Tim Janik <timj@gtk.org> * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36. * incorporated proposed cleanups from gtk-devel-list. * bumped version number to GLib-1.3.1 * glib.h: * gqueue.c: * gstring.c: * glist.c: removed string tokenisation (we got g_strsplit() and g_strjoin() already) and readline functions. s/g_list_delete/g_list_delete_link. implemented g_slist_delete_link. removed notion of g_ATEXIT() macro in glib.h, this is an *internal* macro, g_atexit() is provided for public consumption. added GTrashStack inline utility functions. reimplement double eneded queues. removed GStack implementation, people can use a queue or a (singly) linked list for this task. deprecated g_strescape(), we need the SunOS variants here. * gdate.c: added DEBUG_MSG() macro to wrap old messages. * *.*: CVS merges. * upgrade to libtool 1.3.3.
1999-04-25More editing. Use gcc, not ld to link. On native Win32 use _unlink(). UseTor Lillqvist
* README.win32: More editing. * build-dll: Use gcc, not ld to link. * glib.h: On native Win32 use _unlink(). * gscanner.c: Use corrent NATIVE_WIN32 feature test macro, not _MSC_VER. * gstring.c: Include <io.h> on Win32 for _read prototype. * gutils.c: Remove old IO channel code (was in #if 0). * makefile.cygwin: Don't need to link with kernel32 and msvcrt explicitly, they are included anyway.
1999-02-24inserted additional note to look for ChangeLog and AUTHORS file for a logCST 1999 Shawn T. Amundson
Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org> * *.[ch]: inserted additional note to look for ChangeLog and AUTHORS file for a log of modifications.
1999-01-04eliminated extraneous "register" qualifiers in variable declarations.Tim Janik
Mon Jan 4 20:58:50 1999 Tim Janik <timj@gtk.org> * gscanner.c: eliminated extraneous "register" qualifiers in variable declarations. * gmain.c: #undef events and revents which may have been defined in sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been provided by Philippe Defert <Philippe.Defert@cern.ch>.
1999-01-02avoid unneccessary extra hook referencing (the explicit hook referencingTim Janik
Sat Jan 2 02:20:59 1999 Tim Janik <timj@gtk.org> * ghook.c: (g_hook_list_invoke): (g_hook_list_invoke_check): (g_hook_list_marshal_check): (g_hook_list_marshal): avoid unneccessary extra hook referencing (the explicit hook referencing became unneccessarry with my changes from Mon Dec 21 21:48:29 1998). * gmain.c (g_main_iterate): fixed reference counting leaks with premature loop aborts. Fri Jan 1 22:47:44 1999 Tim Janik <timj@gtk.org> * gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL as G_TOKEN_IDENTIFIER.
1998-12-16changed func_data to user_data for g_scanner_scope_symbol_foreach()Joel Becker
1998-12-15This commit merges the glib-threads branch into the mainOwen Taylor
branch. See the ChangeLog for details of the changes. In brief overview: - The set of threading functions can be set - A default implementation is provided in -lgthread - All static data structures are locked using these functions if g_thread_init() is called.
1998-11-25applied glib-tml-981120-0, change log appended below.PST 1998 Manish Singh
Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org> * applied glib-tml-981120-0, change log appended below. * glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++ infers them Fri Nov 20 22:26:43 1998 Tor Lillqvist <tml@iki.fi> * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32. peer_offset field in WIN32 part of GIOChannel removed, need_wakeups added. Added "extern" to __declspec(dllimport). * gutils.c: Initialise need_wakeups. * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT. * gmodule/gmodule.def: Added g_module_build_path. * gscanner.c: (g_scanner_cur_value) Move initailisation of v to before its use. * glib.def: Added g_(s)list_sort. * makefile.msc: A few more comments. -Yosh
1998-11-01applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog entryManish Singh
* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog entry appended below) * testglib.c * gstrfuncs.c * glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone * gmessages.c * gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H -Yosh
1998-10-28new function for file input. rewind the filedescriptor to the currentTim Janik
Tue Oct 27 07:25:53 1998 Tim Janik <timj@gtk.org> * glib.h: * gscanner.c: (g_scanner_sync_file_offset): new function for file input. rewind the filedescriptor to the current buffer position and blow the file read ahead buffer. usefull for third party uses of our filedescriptor, which hooks onto the current scanning position. (this became neccessary with the implementation of buffered reads). (g_scanner_input_file): (g_scanner_input_text): automatically blow the read ahead buffer. (g_scanner_get_char): blow the read ahead buffer when the end of input is reached, i.e. a '\000' char is read.
1998-10-27removed dummy structure definitions for struct _GCache, _GTree, _GTimer,Tor Lillqvist
Tue Oct 27 03:00:50 1998 Tim Janik <timj@gtk.org> * glib.h: removed dummy structure definitions for struct _GCache, _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk. * gutils.c: implement glib's inline functions _after_ all include statements have been processed. removed Tor's MAXPATHLEN check since there already was one supplied further down in this file. (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32, since lcc maybe used on other platforms as well. why in hell is this stuff required? (g_get_any_init): for windows, if the user name is supplied, use it as realname also. in general, if there is no homedir specified, use the tmpdir that we already figured. * gtimer.c (g_timer_elapsed): changed a g_assert() statement to g_return_if_fail(). * applied glib-tml-981020-0.patch for WIN32 portability, added some comments and g_return_if_fail() statements, minor indentation fixes. ChangeLog entry from Tor Lillqvist is appended. * glib.h (struct dirent): use lower case structure members. * glib.h: * makefile.lcc: * makefile.msc: s/COMPILING_GLIB/GLIB_COMPILATION/ 1998-10-20: Tor Lillqvist <tml@iki.fi> * README.win32 glib.def gmodule.def * glibconfig.h.win32 gmodule/gmoduleconf.h.win32: New files for the Windows port. The .def files list exported symbols for the Microsoft linker and compatibles. * configure.in: Added checks for some platform-dependent headers: pwd.h sys/param.h sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat. * gerror.c: Conditionalized inclusion of system-dependent headers. Changes for Windows: no gdb to do a stack trace. Just call abort(). * glib.h: Changes for Windows: Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for platform-dependent file name syntax elements. Added macros G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for platform-dependent search path syntax conventions. Added pragmas for Microsoft C to make it more pedantic. Marked GLib's global variables for export from DLL. Added the function g_strescape that escapes backslashes. Added functions g_path_is_absolute and g_path_skip_root to handle platform-dependent file name syntax. Added the function g_getenv that expands environment variables that contain references to other environment variables, as is typical on Windows NT. Added the GIOChannel structure which is used to encapsulate the IPC mechanism used by the GIMP's plug-ins, and possibly other things later. On Unix a GIOChannel encapsulates just a file descriptor. On Windows it contains a file handle from _pipe() and a few other things related to the implementation of gdk_input_add and GIMP plug-in communication. Subject to change. Removed duplicate declarations of the version variables. For the Microsoft compiler, declare own implementation of ftruncate and the <dirent.h> functions. * gmem.c: Define a symbolic name for the profiling table size. * gmessages.c: Conditionalized inclusion of unistd.h. On Windows, output using stdio to stdout. * gscanner.c: Conditionalized inclusion of unistd.h. Added changes for Microsoft C. Added CR to the skipped character set. Added small workaround for MSC compiler bug in g_scanner_cur_value. * gstrfuncs.c: Added the function g_strescape, which escapes the backslash character. Needed especially when printing Windows filenames. * gtimer.c: Conditionalized inclusion of unistd.h and sys/time.h. Added implementations for Windows. * gutils.c: Conditionalized inclusion of platform-dependent headers. Use the platform-independent file name syntax macros. Conditionalize code on platform-dependent features. Added the functions g_path_is_absolute g_path_skip_root and g_getenv. Added the GIOChannel-related functions. Added compiler-dependent Unix compatibility functions for Windows. * makefile.lcc makefile.msc: New files. Compiler-specific makefiles for LCC-Win32 and Microsoft C. Only Microsoft C is actually supported currently. * testglib.c: Added pathname check cases for Windows. Added workaround for bug in the Microsoft runtime library. Improved some tests a bit. Tue Oct 27 04:00:11 1998 Tim Janik <timj@gtk.org> * testgmodule.c (main): changed the #ifdef WIN32 test to NATIVE_WIN32, this needs to be more constistent throughout the code, do we go for NATIVE_WIN32 or WIN32? * gmodule.c (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32, since lcc maybe used on other platforms as well. * libgplugin_a.c (LibMain): * libgplugin_b.c (LibMain): likewise. not sure i like this special requirement for lcc in here. * gmodule-dl.c (_g_module_build_path): feature empty "" directories and prepend the module name with "lib". * gmodule-dld.c (_g_module_build_path): * gmodule-win32.c (_g_module_build_path): feature empty "" directories. * we need some more magic in the _g_module_build_path variants so we don't append/prepend lib and .so, .sl or .dll for those names that already contain it. * applied patch from Tor Lillqvist for g_module_build_path() and windows support. 1998-10-20: Tor Lillqvist <tml@iki.fi> * gmodule/gmodule-win32.c: New file. * gmodule/gmodule.c gmodule/gmodule.h: Added the funcion g_module_build_path that builds the path to a module file, decorating the name according to the system's conventions. Added the Windows implementation. * gmodule/libgplugin_a.c gmodule/libgplugin_b.c: Added LibMain for LCC-Win32. * gmodule/testgmodule.c: Handle Windows dll names.
1998-10-25no more characters are available if read() returns anything less than 1,Tim Janik
Sun Oct 25 07:30:10 1998 Tim Janik <timj@gtk.org> * gscanner.c: (g_scanner_peek_next_char): (g_scanner_get_char): no more characters are available if read() returns anything less than 1, not only on 0 return. * glib.h: * gstrfuncs.c: final API cleanup of string arrays to suit sopwith's argument order requirements. (g_strsplit): renamed from g_str_array_split(). (g_strjoinv): renamed from g_str_array_joinv(), string array is now passed as last parameter. removed `const' qualifier from string array pointer (again). (g_strjoin): new function from sopwith to concatenate strings with an additional seperator. (g_strfreev): renamed from g_str_array_free.
1998-09-25version bump to 1.1.4, binary age 0, interface age 0.Tim Janik
Fri Sep 25 00:04:37 1998 Tim Janik <timj@gtk.org> * configure.in: version bump to 1.1.4, binary age 0, interface age 0. * glib.h (struct _GScanner): dumped peeked_char and text_len in favour of *text_end and *buffer for buffered read()s. * gscanner.c: changed peeking and retrival of next character so we have buffered reads. fixed minor bug with number parsing error reporting. made some static!!! variables local ones (why did we use static temporary variables in the lowlevel tokenization code anyways?).
1998-09-21NEWS file update for upcoming release of GLib + GModule version 1.1.3,Tim Janik
Mon Sep 21 02:22:12 1998 Tim Janik <timj@gtk.org> * NEWS file update for upcoming release of GLib + GModule version 1.1.3, binary age 0, interface age 0. (GModule uses the same version numbers as GLib.) * glib.h: swap the inclusion of of float.h and limits.h to work around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by Per Abrahamsen <abraham@dina.kvl.dk>). * glib.h: * gscanner.c: renamed the GValue union to GTokenValue, this should not affect source compatibility in most cases. * ghash.c: added some g_return_if_fail() statements. make g_hash_table_lookup_node() an inline function so we save an extra function invokation on lookups. Mon Sep 21 01:54:48 1998 Tim Janik <timj@gtk.org> * gmodule.h: * gmodule.c: renamed old _de_init functionality to _unload. modules are now expected to export: G_MODULE_EXPORT const gchar* g_module_check_init (GModule *module); and G_MODULE_EXPORT void g_module_unload (GModule *module); returning a string other than NULL from g_module_check_init() will prevent the module from being loaded. a call to g_module_make_resident() from g_module_unload() will prevent the module from being unloaded and still make it resident.
1998-09-07check for all three inline keywords individually.Tim Janik
Mon Sep 7 07:53:21 1998 Tim Janik <timj@gtk.org> * configure.in: check for all three inline keywords individually. * glib.h: inlining hassle. for compilers that don't allow the `inline' keyword, mostly because of strict ANSI C compliance or dumbness, we try to fall back to either `__inline__' or `__inline'. we define G_CAN_INLINE, if the compiler seems to be actually *capable* to do function inlining, in which case inline function bodys do make sense. we also define G_INLINE_FUNC to properly export the function prototypes if no inlinig can be performed. we special case most of the stuff, so inline functions can have a normal implementation by defining G_INLINE_FUNC to extern and G_CAN_INLINE to 1. * ltconfig: (compiler PIC flag test): special case linux for non aout systems to honour lcc's position independant code (cases "linux*aout)" and "linux*)" got added). (this needs to go into libtool which does an advanced test, checking for __LCC__). * autogen.sh: take $CC=lcc into account by invoking automake with --include-deps so lcc isn't scared by gcc's auto-dependancy generation code. care about $ACLOCAL_FLAGS. optionally feature autoheader. * minor fixups in other places to cure some of lcc's warnings.
1998-08-24removed this function which was not publically exported in glib.h. toTim Janik
Mon Aug 24 02:08:56 1998 Tim Janik <timj@gtk.org> * glib.h: * gstring.c: * gstrfuncs.c: (g_vsprintf): removed this function which was not publically exported in glib.h. to export it, it should have been named differently in the first place, since its semantics differ from vsprintf(). apart from that, it was a possible cause for problems since it worked on a previously allocated memory area and was used in a lot places of glib. exporting it would have been a guararant for problems with threaded programs. (g_printf_string_upper_bound): exported this function to return a string size, guarranteed to be big enough to hold the fully expanded format+args string. added 'q', 'L' and 'll' flag handling. in fact, the newly allocated area is in most cases much bigger than required. (g_strdup_vprintf()): new function returning a newly allocated string containing the contents of *format and associated args (size is calculated with g_printf_string_upper_bound()). (g_strdup_printf): new function which wraps g_strdup_vprintf(). * configure.in: check for va_copy() or __va_copy() alternatively. check whether va_lists can be copyied by value. * glib.h: provide a definition for G_VA_COPY. * glib.h: * gmessages.c: (g_logv): (g_vsnprintf): pass va_lists by value, not by reference, since this causes problems on platforms that implement va_list as as arrays. internaly, use G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second va_list variable, if multiple passes are required. changed all callers. * glib.h: * gerror.h: renamed g_debug() to g_on_error_query(), cleaned up a bit. renamed g_stack_trace() to g_on_error_stack_trace() since both functions cluttered different namespaces. there is an appropriate comment in glib.h now that explains the unix and gdb specific dependencies of both functions. removed g_attach_process(). g_on_error_stack_trace() should probably be handled with caution, i've seem several different linux versions (2.0.x) become unstable after invokation of this function.
1998-07-25indentation fixes.Tim Janik
1998-07-22new functions to make a scanner scope sensitive wrt symbol lookups.Tim Janik
Thu Jul 23 00:29:14 1998 Tim Janik <timj@gtk.org> * glib.h: * gscanner.c: new functions to make a scanner scope sensitive wrt symbol lookups. g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol, g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and g_scanner_set_scope. g_scanner_add_symbol, g_scanner_remove_symbol and g_scanner_foreach_symbol are now aliases for scope 0.
1998-06-30take symbol_2_token into account. react on valid/invalid string pairs.Tim Janik
Tue Jun 30 11:58:25 1998 Tim Janik <timj@gtk.org> * gscanner.c (g_scanner_unexp_token): take symbol_2_token into account. react on valid/invalid string pairs.
1998-06-12cleanups of the structure fields (binary incompatible).Tim Janik
Fri Jun 12 15:39:06 1998 Tim Janik <timj@gtk.org> * glib.h (GScanner): cleanups of the structure fields (binary incompatible).
1998-06-10Initial revisionOwen Taylor