diff options
author | Benny Prijono <bennylp@teluu.com> | 2005-11-13 19:40:44 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2005-11-13 19:40:44 +0000 |
commit | a08b589d09d5197f9a76d549a189e4686bd2ca8c (patch) | |
tree | 549904e7680dfab96b3ce579b1843c5d58107100 /pjlib/src/pjlib-samples | |
parent | 8df70c6d5fef443506618bf31b686d53fef3f259 (diff) |
Applying license to pjproject
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@49 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib/src/pjlib-samples')
-rw-r--r-- | pjlib/src/pjlib-samples/except.c | 158 | ||||
-rw-r--r-- | pjlib/src/pjlib-samples/list.c | 130 | ||||
-rw-r--r-- | pjlib/src/pjlib-samples/log.c | 72 |
3 files changed, 210 insertions, 150 deletions
diff --git a/pjlib/src/pjlib-samples/except.c b/pjlib/src/pjlib-samples/except.c index ab936c3e..36509e43 100644 --- a/pjlib/src/pjlib-samples/except.c +++ b/pjlib/src/pjlib-samples/except.c @@ -1,69 +1,89 @@ -/* $Id$ - */ -#include <pj/except.h> -#include <pj/rand.h> -#include <stdio.h> -#include <stdlib.h> - -/** - * \page page_pjlib_samples_except_c Example: Exception Handling - * - * Below is sample program to demonstrate how to use exception handling. - * - * \includelineno pjlib-samples/except.c - */ - -static pj_exception_id_t NO_MEMORY, OTHER_EXCEPTION; - -static void randomly_throw_exception() -{ - if (pj_rand() % 2) - PJ_THROW(OTHER_EXCEPTION); -} - -static void *my_malloc(size_t size) -{ - void *ptr = malloc(size); - if (!ptr) - PJ_THROW(NO_MEMORY); - return ptr; -} - -static int test_exception() -{ - PJ_USE_EXCEPTION; - - PJ_TRY { - void *data = my_malloc(200); - free(data); - randomly_throw_exception(); - } - PJ_CATCH( NO_MEMORY ) { - puts("Can't allocate memory"); - return 0; - } - PJ_DEFAULT { - pj_exception_id_t x_id; - - x_id = PJ_GET_EXCEPTION(); - printf("Caught exception %d (%s)\n", - x_id, pj_exception_id_name(x_id)); - } - PJ_END - return 1; -} - -int main() -{ - pj_status_t rc; - - // Error handling is omited for clarity. - - rc = pj_init(); - - rc = pj_exception_id_alloc("No Memory", &NO_MEMORY); - rc = pj_exception_id_alloc("Other Exception", &OTHER_EXCEPTION); - - return test_exception(); -} - +/* $Id$ */
+/*
+ * PJLIB - PJ Foundation Library
+ * (C)2003-2005 Benny Prijono <bennylp@bulukucing.org>
+ *
+ * Author:
+ * Benny Prijono <bennylp@bulukucing.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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 <pj/except.h>
+#include <pj/rand.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/**
+ * \page page_pjlib_samples_except_c Example: Exception Handling
+ *
+ * Below is sample program to demonstrate how to use exception handling.
+ *
+ * \includelineno pjlib-samples/except.c
+ */
+
+static pj_exception_id_t NO_MEMORY, OTHER_EXCEPTION;
+
+static void randomly_throw_exception()
+{
+ if (pj_rand() % 2)
+ PJ_THROW(OTHER_EXCEPTION);
+}
+
+static void *my_malloc(size_t size)
+{
+ void *ptr = malloc(size);
+ if (!ptr)
+ PJ_THROW(NO_MEMORY);
+ return ptr;
+}
+
+static int test_exception()
+{
+ PJ_USE_EXCEPTION;
+
+ PJ_TRY {
+ void *data = my_malloc(200);
+ free(data);
+ randomly_throw_exception();
+ }
+ PJ_CATCH( NO_MEMORY ) {
+ puts("Can't allocate memory");
+ return 0;
+ }
+ PJ_DEFAULT {
+ pj_exception_id_t x_id;
+
+ x_id = PJ_GET_EXCEPTION();
+ printf("Caught exception %d (%s)\n",
+ x_id, pj_exception_id_name(x_id));
+ }
+ PJ_END
+ return 1;
+}
+
+int main()
+{
+ pj_status_t rc;
+
+ // Error handling is omited for clarity.
+
+ rc = pj_init();
+
+ rc = pj_exception_id_alloc("No Memory", &NO_MEMORY);
+ rc = pj_exception_id_alloc("Other Exception", &OTHER_EXCEPTION);
+
+ return test_exception();
+}
+
diff --git a/pjlib/src/pjlib-samples/list.c b/pjlib/src/pjlib-samples/list.c index 127d8ddf..e478d220 100644 --- a/pjlib/src/pjlib-samples/list.c +++ b/pjlib/src/pjlib-samples/list.c @@ -1,55 +1,75 @@ -/* $Id$ - */ -#include <pj/list.h> -#include <pj/assert.h> -#include <pj/log.h> - -/** - * \page page_pjlib_samples_list_c Example: List Manipulation - * - * Below is sample program to demonstrate how to manipulate linked list. - * - * \includelineno pjlib-samples/list.c - */ - -struct my_node -{ - // This must be the first member declared in the struct! - PJ_DECL_LIST_MEMBER(struct my_node); - int value; -}; - - -int main() -{ - struct my_node nodes[10]; - struct my_node list; - struct my_node *it; - int i; - - // Initialize the list as empty. - pj_list_init(&list); - - // Insert nodes. - for (i=0; i<10; ++i) { - nodes[i].value = i; - pj_list_insert_before(&list, &nodes[i]); - } - - // Iterate list nodes. - it = list.next; - while (it != &list) { - PJ_LOG(3,("list", "value = %d", it->value)); - it = it->next; - } - - // Erase all nodes. - for (i=0; i<10; ++i) { - pj_list_erase(&nodes[i]); - } - - // List must be empty by now. - pj_assert( pj_list_empty(&list) ); - - return 0; -}; +/* $Id$ */
+/*
+ * PJLIB - PJ Foundation Library
+ * (C)2003-2005 Benny Prijono <bennylp@bulukucing.org>
+ *
+ * Author:
+ * Benny Prijono <bennylp@bulukucing.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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 <pj/list.h>
+#include <pj/assert.h>
+#include <pj/log.h>
+
+/**
+ * \page page_pjlib_samples_list_c Example: List Manipulation
+ *
+ * Below is sample program to demonstrate how to manipulate linked list.
+ *
+ * \includelineno pjlib-samples/list.c
+ */
+
+struct my_node
+{
+ // This must be the first member declared in the struct!
+ PJ_DECL_LIST_MEMBER(struct my_node);
+ int value;
+};
+
+
+int main()
+{
+ struct my_node nodes[10];
+ struct my_node list;
+ struct my_node *it;
+ int i;
+
+ // Initialize the list as empty.
+ pj_list_init(&list);
+
+ // Insert nodes.
+ for (i=0; i<10; ++i) {
+ nodes[i].value = i;
+ pj_list_insert_before(&list, &nodes[i]);
+ }
+
+ // Iterate list nodes.
+ it = list.next;
+ while (it != &list) {
+ PJ_LOG(3,("list", "value = %d", it->value));
+ it = it->next;
+ }
+
+ // Erase all nodes.
+ for (i=0; i<10; ++i) {
+ pj_list_erase(&nodes[i]);
+ }
+
+ // List must be empty by now.
+ pj_assert( pj_list_empty(&list) );
+
+ return 0;
+};
diff --git a/pjlib/src/pjlib-samples/log.c b/pjlib/src/pjlib-samples/log.c index 2e289764..cf1b7c85 100644 --- a/pjlib/src/pjlib-samples/log.c +++ b/pjlib/src/pjlib-samples/log.c @@ -1,26 +1,46 @@ -/* $Id$ - */ -#include <pj/log.h> - -/** - * \page page_pjlib_samples_log_c Example: Log, Hello World - * - * Very simple program to write log. - * - * \includelineno pjlib-samples/log.c - */ - -int main() -{ - pj_status_t rc; - - // Error handling omited for clarity - - // Must initialize PJLIB first! - rc = pj_init(); - - PJ_LOG(3, ("main.c", "Hello world!")); - - return 0; -} - +/* $Id$ */
+/*
+ * PJLIB - PJ Foundation Library
+ * (C)2003-2005 Benny Prijono <bennylp@bulukucing.org>
+ *
+ * Author:
+ * Benny Prijono <bennylp@bulukucing.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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 <pj/log.h>
+
+/**
+ * \page page_pjlib_samples_log_c Example: Log, Hello World
+ *
+ * Very simple program to write log.
+ *
+ * \includelineno pjlib-samples/log.c
+ */
+
+int main()
+{
+ pj_status_t rc;
+
+ // Error handling omited for clarity
+
+ // Must initialize PJLIB first!
+ rc = pj_init();
+
+ PJ_LOG(3, ("main.c", "Hello world!"));
+
+ return 0;
+}
+
|