/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * e-xml-utils.c * Copyright (C) 2000 Helix Code, Inc. * Author: Chris Lahey * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include #include #include #include #include #include #include "e-util.h" int g_str_compare(const void *x, const void *y) { return strcmp(x, y); } int g_int_compare(const void *x, const void *y) { if ( GPOINTER_TO_INT(x) < GPOINTER_TO_INT(y) ) return -1; else if ( GPOINTER_TO_INT(x) == GPOINTER_TO_INT(y) ) return 0; else return 1; } char * e_strdup_strip(char *string) { int i; int length = 0; int initial = 0; for ( i = 0; string[i]; i++ ) { if (initial == i && isspace(string[i])) { initial ++; } if (!isspace(string[i])) { length = i - initial + 1; } } return g_strndup(string + initial, length); } void e_free_object_list (GList *list) { GList *p; for (p = list; p != NULL; p = p->next) gtk_object_unref (GTK_OBJECT (p->data)); g_list_free (list); } void e_free_string_list (GList *list) { GList *p; for (p = list; p != NULL; p = p->next) g_free (p->data); g_list_free (list); } #define BUFF_SIZE 1024 char * e_read_file(const char *filename) { int fd; char buffer[BUFF_SIZE]; GList *list = NULL, *list_iterator; GList *lengths = NULL, *lengths_iterator; int length = 0; int bytes; char *ret_val; fd = open(filename, O_RDONLY); if (fd == -1) return NULL; bytes = read(fd, buffer, BUFF_SIZE); while (bytes) { if (bytes > 0) { list = g_list_prepend(list, g_strndup(buffer, bytes)); lengths = g_list_prepend(lengths, GINT_TO_POINTER(bytes)); length += bytes; } else { if (errno != EINTR) { close(fd); g_list_foreach(list, (GFunc) g_free, NULL); g_list_free(list); g_list_free(lengths); return NULL; } } bytes = read(fd, buffer, BUFF_SIZE); } ret_val = g_new(char, length + 1); ret_val[length] = 0; lengths_iterator = lengths; list_iterator = list; for ( ; list_iterator; list_iterator = list_iterator->next, lengths_iterator = lengths_iterator->next) { int this_length = GPOINTER_TO_INT(lengths_iterator->data); length -= this_length; memcpy(ret_val + length, list_iterator->data, this_length); } close(fd); g_list_foreach(list, (GFunc) g_free, NULL); g_list_free(list); g_list_free(lengths); return ret_val; } gint e_write_file(const char *filename, const char *data, int flags) { int fd; int length = strlen(data); int bytes; fd = open(filename, flags, 0666); if (fd == -1) return errno; while (length > 0) { bytes = write(fd, data, length); if (bytes > 0) { length -= bytes; data += bytes; } else { if (errno != EINTR && errno != EAGAIN) { int save_errno = errno; close(fd); return save_errno; } } } close(fd); return 0; } typedef gint (*GtkSignal_INT__INT_INT_POINTER) (GtkObject * object, gint arg1, gint arg2, gpointer arg3, gpointer user_data); void e_marshal_INT__INT_INT_POINTER (GtkObject * object, GtkSignalFunc func, gpointer func_data, GtkArg * args) { GtkSignal_INT__INT_INT_POINTER rfunc; gint *return_val; return_val = GTK_RETLOC_INT (args[3]); rfunc = (GtkSignal_INT__INT_INT_POINTER) func; *return_val = (*rfunc) (object, GTK_VALUE_INT (args[0]), GTK_VALUE_INT (args[1]), GTK_VALUE_POINTER (args[2]), func_data); } typedef void (*GtkSignal_NONE__OBJECT_DOUBLE_DOUBLE_BOOL) (GtkObject * object, GtkObject *arg1, gdouble arg2, gdouble arg3, gboolean arg4, gpointer user_data); void e_marshal_NONE__OBJECT_DOUBLE_DOUBLE_BOOL (GtkObject * object, GtkSignalFunc func, gpointer func_data, GtkArg * args) { GtkSignal_NONE__OBJECT_DOUBLE_DOUBLE_BOOL rfunc; rfunc = (GtkSignal_NONE__OBJECT_DOUBLE_DOUBLE_BOOL) func; (*rfunc) (object, GTK_VALUE_OBJECT (args[0]), GTK_VALUE_DOUBLE (args[1]), GTK_VALUE_DOUBLE (args[2]), GTK_VALUE_BOOL (args[3]), func_data); } typedef gdouble (*GtkSignal_DOUBLE__OBJECT_DOUBLE_DOUBLE_BOOL) (GtkObject * object, GtkObject *arg1, gdouble arg2, gdouble arg3, gboolean arg4, gpointer user_data); void e_marshal_DOUBLE__OBJECT_DOUBLE_DOUBLE_BOOL (GtkObject * object, GtkSignalFunc func, gpointer func_data, GtkArg * args) { GtkSignal_DOUBLE__OBJECT_DOUBLE_DOUBLE_BOOL rfunc; gdouble *return_val; return_val = GTK_RETLOC_DOUBLE (args[4]); rfunc = (GtkSignal_DOUBLE__OBJECT_DOUBLE_DOUBLE_BOOL) func; *return_val = (*rfunc) (object, GTK_VALUE_OBJECT (args[0]), GTK_VALUE_DOUBLE (args[1]), GTK_VALUE_DOUBLE (args[2]), GTK_VALUE_BOOL (args[3]), func_data); } typedef gdouble (*GtkSignal_BOOL__OBJECT_DOUBLE_DOUBLE_BOOL) (GtkObject * object, GtkObject *arg1, gdouble arg2, gdouble arg3, gboolean arg4, gpointer user_data); void e_marshal_BOOL__OBJECT_DOUBLE_DOUBLE_BOOL (GtkObject * object, GtkSignalFunc func, gpointer func_data, GtkArg * args) { GtkSignal_BOOL__OBJECT_DOUBLE_DOUBLE_BOOL rfunc; gboolean *return_val; return_val = GTK_RETLOC_BOOL (args[4]); rfunc = (GtkSignal_BOOL__OBJECT_DOUBLE_DOUBLE_BOOL) func; *return_val = (*rfunc) (object, GTK_VALUE_OBJECT (args[0]), GTK_VALUE_DOUBLE (args[1]), GTK_VALUE_DOUBLE (args[2]), GTK_VALUE_BOOL (args[3]), func_data); } 4/cgit/freebsd-ports-gnome/stats/databases?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>stats
Commit message (Expand)AuthorAgeFilesLines
* - Update to 0.16wen2010-11-303-8/+12
* - Update to 2.11.11.1sunpoet2010-11-302-4/+3
* - Update to 3.3.8.1sunpoet2010-11-302-4/+3
* - Update to 5.1.1wen2010-11-292-3/+3
* Update to 4.2.2.marcus2010-11-294-22/+22
* DBIx::DBHResolver mixin for DBIx::Skinny.kuriyama2010-11-295-0/+37
* - Update to 2.0.4pgollucci2010-11-272-3/+3
* Flask-SQLAlchemy adds support for SQLAlchemy to your Flask application.pgollucci2010-11-275-0/+48
* - Update to 0.6.8pgollucci2010-11-272-4/+3
* Allow to enable userland dtrace only on supported FreeBSD versions.ale2010-11-262-12/+18
* - Update to 1.0.11miwi2010-11-242-4/+3
* - Also remove them from pkg-plist lists not from me that crept inpgollucci2010-11-241-1/+0
* Update to 5.1.53 release.ale2010-11-233-4/+4
* - update stale commentpgollucci2010-11-231-1/+1
* - Update to 3.0.3pgollucci2010-11-234-6/+6
* - Update to 2.0.3pgollucci2010-11-232-3/+3
* Update to 1.8.0skreuzer2010-11-233-6/+4
* - Use dirrmtry on share/postgresql/tsearch_data for postgresql{83|84|90}-serversunpoet2010-11-2310-10/+10
* OPTIONize sasl2 dependency.vanilla2010-11-222-3/+14
* - Update to 2.17.2wen2010-11-223-23/+22
* - Fix optional dependency on security/heimdalrene2010-11-2210-11/+20
* Fix non-existing function call and deprecated functions.thierry2010-11-223-3/+120
* Fix broken portgirgen2010-11-221-3/+3
* Fix the detection of mysql for libgda4-mysql.kwm2010-11-211-1/+3
* This module allows you to put the arguments to "add_column" inaz2010-11-215-0/+55
* Presenting GNOME 2.32.1 for FreeBSD. The offical release notes for thiskwm2010-11-2016-207/+512
* DBIx::Skinny::InflateColumn::DateTime provides inflate/deflatekuriyama2010-11-205-0/+48
* DBIx::Skinny::Schema::Loader is schema loader for DBIx::Skinny. Itkuriyama2010-11-205-0/+45
* DBIx::Skinny::Pager is resultset pager interface forkuriyama2010-11-205-0/+57
* - Mark BROKEN on 6.X: does not buildpav2010-11-202-0/+8
* Make fetchable again by upgrading to 9.0.5.thierry2010-11-203-5/+24
* DBIx::Skinny is simple DBI wrapper and simple O/R Mapper. It aims tokuriyama2010-11-195-0/+82
* - Update to 1.016wen2010-11-193-23/+25
* Update to new upstream patch release 5.0.32.0.mandree2010-11-192-5/+4
* - Update to 3.1.0wen2010-11-183-6/+5
* - Remove database/unixODBC and database/firebird20-* CONFLICTS. Nowacm2010-11-183-3/+33
* - Update to 0.74wen2010-11-182-5/+3
* - Add mariadb 5.2.3sunpoet2010-11-1821-0/+24485
* Update to 1.4arved2010-11-175-47/+7
* - Update to 0.5.4sunpoet2010-11-172-3/+3
* - Update to 3.0.2pgollucci2010-11-164-8/+6
* - Update to 2.0.2pgollucci2010-11-162-4/+3
* - Update to 0.6.5nivit2010-11-146-24/+52
* Update WWW: links for db* ports in pkg-descr.mandree2010-11-1213-13/+13
* Update MASTER_SITES.mandree2010-11-1213-45/+19
* - Update to 0.1621wen2010-11-122-4/+3
* Correct dependencies (from tcl modules)beech2010-11-121-2/+13
* - Update to 1.8.0wen2010-11-124-27/+19
* - github is redirecting all these to https nowpgollucci2010-11-1116-16/+16
* Update to 5.5.7-rc release.ale2010-11-1114-66/+72
* IGNORE until someone provides an update - contents of numeric fields returned asstefan2010-11-101-0/+2
* - Update to 1.71wen2010-11-102-4/+3
* - Update to 1.3.2pgollucci2010-11-104-8/+6
* Update from 2.0.3 to 2.0.4.osa2010-11-094-8/+6
* - Since PLIST_DIRSTRY is available now, use it for %%DATADIR%%/contribsunpoet2010-11-091-2/+2
* - Update to 2.1.3pav2010-11-094-10/+17
* - Update to 5.1.0wen2010-11-082-5/+4
* - Update to 0.14culot2010-11-073-7/+14
* - Update to 1.1.7wen2010-11-052-4/+3
* - Update to 3.7.2wen2010-11-053-60/+47
* - Update to 1.31clsung2010-11-053-19/+14
* - Update to 0.1.4miwi2010-11-042-5/+4
* - Update to 3.79miwi2010-11-042-4/+4
* - Update to 0.5.1miwi2010-11-042-4/+6
* - Update to 0.5.2sunpoet2010-11-042-6/+7
* These functions allow you to access records storedmiwi2010-11-044-0/+30
* - Update to 3.0.5miwi2010-11-043-25/+4
* - Update to 1.0.1miwi2010-11-042-4/+4
* - Update to 1.0.10miwi2010-11-042-4/+4
* Update to 1.2.21rene2010-11-043-8/+8
* Update to 5.1.52 release.ale2010-11-032-5/+4
* - Update to 2.7wen2010-11-033-6/+10
* - Update to 1.0.9wen2010-11-022-4/+3
* - Define the license;thierry2010-11-022-7/+9
* - Update to 1.45wen2010-11-012-4/+4
* - update to 0.21bapt2010-10-312-4/+3
* - update to 0.08124bapt2010-10-313-10/+16
* Mark as deprecated and set expiration date to 2010-12-30 for unmaintainedbapt2010-10-301-0/+2
* - Update to v1.0.22brix2010-10-302-9/+8
* - Update to v1.0.22brix2010-10-303-8/+17
* - Update to v1.0.22brix2010-10-303-5/+81
* Use a more recent flex from ports as suggested by configure.olgeni2010-10-291-1/+5
* Fix unnecessary conflict with samba subports, in particular - libsmbclient.timur2010-10-293-14/+45
* The docs tarball was rerolled since the last time I ran make makesum.olgeni2010-10-292-4/+9
* Upgrade to version 2.0.5 and clean up using PORTDOCS.olgeni2010-10-293-257/+15
* Deprecate md5 in favour of sha256 checksums. md5 checksums will no longererwin2010-10-29