X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0ff69767ac5366173bd114a5dffae5414dcd1635..6a6b04b52ae82e68af569e9a226609be3a3cd324:/testsuite/xbt/swag_usage.c diff --git a/testsuite/xbt/swag_usage.c b/testsuite/xbt/swag_usage.c index 1814724e83..96279ccc95 100644 --- a/testsuite/xbt/swag_usage.c +++ b/testsuite/xbt/swag_usage.c @@ -1,11 +1,20 @@ +/* $Id$ */ + +/* A simple example to demonstrate the use of swags */ + +/* Copyright (c) 2004 Arnaud Legrand. All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + #include #include -#include "swag.h" +#include "xbt/swag.h" typedef struct { s_xbt_swag_hookup_t setA; s_xbt_swag_hookup_t setB; - char *name; + const char *name; } shmurtz, s_shmurtz_t, *shmurtz_t; int main(void) @@ -22,16 +31,16 @@ int main(void) printf("%p %p %d\n",obj1,&(obj1->setB), (char *)&(obj1->setB) - (char *)obj1); - setA = xbt_swag_new((char *)&(obj1->setA) - (char *)obj1); - setB = xbt_swag_new((char *)&(obj1->setB) - (char *)obj1); + setA = xbt_swag_new(xbt_swag_offset(*obj1,setA)); + setB = xbt_swag_new(xbt_swag_offset(*obj1,setB)); xbt_swag_insert(obj1, setA); xbt_swag_insert(obj1, setB); xbt_swag_insert(obj2, setA); xbt_swag_insert(obj2, setB); - xbt_swag_extract(obj1, setB); - // xbt_swag_extract(obj2, setB); + xbt_swag_remove(obj1, setB); + // xbt_swag_remove(obj2, setB); xbt_swag_foreach(obj,setA) { printf("\t%s\n",obj->name);