develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r34772 - in trunk: include/parrot src

From:
infinoid
Date:
January 1, 2009 15:54
Subject:
[svn:parrot] r34772 - in trunk: include/parrot src
Message ID:
20090101235403.B0A35CBA08@x12.develooper.com
Author: infinoid
Date: Thu Jan  1 15:54:03 2009
New Revision: 34772

Modified:
   trunk/include/parrot/list.h
   trunk/src/list.c

Log:
[core] The "item" parameter for list_set(), list_push() and list_assign()
needs to be NULLOK.
(Found by the headerizer NONNULL assert() patch, see Trac #105.)

Modified: trunk/include/parrot/list.h
==============================================================================
--- trunk/include/parrot/list.h	(original)
+++ trunk/include/parrot/list.h	Thu Jan  1 15:54:03 2009
@@ -88,11 +88,10 @@
 void list_assign(PARROT_INTERP,
     ARGMOD(List *list),
     INTVAL idx,
-    ARGIN(void *item),
+    ARGIN_NULLOK(void *item),
     int type)
         __attribute__nonnull__(1)
         __attribute__nonnull__(2)
-        __attribute__nonnull__(4)
         FUNC_MODIFIES(*list);
 
 PARROT_EXPORT
@@ -172,11 +171,10 @@
 PARROT_EXPORT
 void list_push(PARROT_INTERP,
     ARGMOD(List *list),
-    ARGIN(void *item),
+    ARGIN_NULLOK(void *item),
     int type)
         __attribute__nonnull__(1)
         __attribute__nonnull__(2)
-        __attribute__nonnull__(3)
         FUNC_MODIFIES(*list);
 
 PARROT_EXPORT
@@ -226,8 +224,7 @@
 
 #define ASSERT_ARGS_ld
 #define ASSERT_ARGS_list_assign assert(interp); \
-                                assert(list); \
-                                assert(item);
+                                assert(list);
 #define ASSERT_ARGS_list_clone assert(interp); \
                                assert(other);
 #define ASSERT_ARGS_list_delete assert(interp); \
@@ -249,8 +246,7 @@
 #define ASSERT_ARGS_list_pop assert(interp); \
                              assert(list);
 #define ASSERT_ARGS_list_push assert(interp); \
-                              assert(list); \
-                              assert(item);
+                              assert(list);
 #define ASSERT_ARGS_list_set_length assert(interp); \
                                     assert(list);
 #define ASSERT_ARGS_list_shift assert(interp); \

Modified: trunk/src/list.c
==============================================================================
--- trunk/src/list.c	(original)
+++ trunk/src/list.c	Thu Jan  1 15:54:03 2009
@@ -250,12 +250,11 @@
 
 static void list_set(PARROT_INTERP,
     ARGMOD(List *list),
-    ARGIN(void *item),
+    ARGIN_NULLOK(void *item),
     INTVAL type,
     INTVAL idx)
         __attribute__nonnull__(1)
         __attribute__nonnull__(2)
-        __attribute__nonnull__(3)
         FUNC_MODIFIES(*list);
 
 static UINTVAL rebuild_chunk_list(PARROT_INTERP, ARGMOD(List *list))
@@ -304,8 +303,7 @@
 #define ASSERT_ARGS_list_item assert(interp); \
                               assert(list);
 #define ASSERT_ARGS_list_set assert(interp); \
-                             assert(list); \
-                             assert(item);
+                             assert(list);
 #define ASSERT_ARGS_rebuild_chunk_list assert(interp); \
                                        assert(list);
 #define ASSERT_ARGS_rebuild_chunk_ptrs assert(list);
@@ -1087,7 +1085,8 @@
 */
 
 static void
-list_set(PARROT_INTERP, ARGMOD(List *list), ARGIN(void *item), INTVAL type, INTVAL idx)
+list_set(PARROT_INTERP, ARGMOD(List *list), ARGIN_NULLOK(void *item),
+        INTVAL type, INTVAL idx)
 {
     const INTVAL oidx = idx;
     List_chunk *chunk = get_chunk(interp, list, (UINTVAL *)&idx);
@@ -1788,7 +1787,7 @@
 
 PARROT_EXPORT
 void
-list_push(PARROT_INTERP, ARGMOD(List *list), ARGIN(void *item), int type)
+list_push(PARROT_INTERP, ARGMOD(List *list), ARGIN_NULLOK(void *item), int type)
 {
     const INTVAL idx = list->start + list->length++;
 
@@ -1910,7 +1909,7 @@
 
 PARROT_EXPORT
 void
-list_assign(PARROT_INTERP, ARGMOD(List *list), INTVAL idx, ARGIN(void *item), int type)
+list_assign(PARROT_INTERP, ARGMOD(List *list), INTVAL idx, ARGIN_NULLOK(void *item), int type)
 {
     const INTVAL length = list->length;
 



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About