antiright-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Antiright-devel] antiright/libantiright util.c util.h


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright/libantiright util.c util.h
Date: Fri, 13 Apr 2007 22:49:33 +0000

CVSROOT:        /sources/antiright
Module name:    antiright
Changes by:     Jeffrey Bedard <jefbed> 07/04/13 22:49:33

Modified files:
        libantiright   : util.c util.h 

Log message:
        Created data structure/class for string tupules.  

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/util.c?cvsroot=antiright&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/antiright/libantiright/util.h?cvsroot=antiright&r1=1.6&r2=1.7

Patches:
Index: util.c
===================================================================
RCS file: /sources/antiright/antiright/libantiright/util.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- util.c      28 Feb 2007 03:53:51 -0000      1.9
+++ util.c      13 Apr 2007 22:49:32 -0000      1.10
@@ -35,6 +35,46 @@
 }
 
 void
+ar_ARArguments_add(struct ARArguments * this, gchar * item)
+{
+       this->argc++;
+       this->argv=realloc(this->argv, sizeof(gchar*)*this->argc);
+       this->argv[this->argc-1]=g_strdup(item);
+}
+
+void
+ar_setup_ARArguments(struct ARArguments * args)
+{
+       args->argc=0;
+       args->argv=NULL;
+       args->add=&ar_ARArguments_add;
+}
+
+struct ARArguments *
+ar_new_ARArguments()
+{
+       struct ARArguments * args;
+       args=g_malloc(sizeof(struct ARArguments));
+       ar_setup_ARArguments(args);
+       return args;
+}
+
+void
+ar_delete_ARArguments_contents(struct ARArguments * args)
+{
+       for(; args->argc>0; args->argc--)
+               g_free(args->argv[args->argc-1]);
+       g_free(args->argv);
+}
+
+void
+ar_delete_ARArguments(struct ARArguments * args)
+{
+       ar_delete_ARArguments_contents(args);
+       g_free(args);
+}
+
+void
 rand_seed()
 {
        srandom((unsigned int) time(NULL));

Index: util.h
===================================================================
RCS file: /sources/antiright/antiright/libantiright/util.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- util.h      2 Mar 2007 03:56:07 -0000       1.6
+++ util.h      13 Apr 2007 22:49:32 -0000      1.7
@@ -23,6 +23,29 @@
 #ifndef LIBAR_UTIL_H
 #define LIBAR_UTIL_H
 
+/* argument structure */
+struct ARArguments
+{
+       gchar ** argv;
+       gint argc;
+       void (*add)(struct ARArguments *, gchar *);
+};
+
+void
+ar_ARArguments_add(struct ARArguments * this, gchar * item);
+
+void
+ar_setup_ARArguments(struct ARArguments * args);
+
+struct ARArguments *
+ar_new_ARArguments();
+
+void
+ar_delete_ARArguments(struct ARArguments * args);
+
+void
+ar_delete_ARArguments_contents(struct ARArguments * args);
+
 /* Decimal bitmasks for boolean storage.  */
 #define ARB_0 1
 #define ARB_1 2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]