Author: marcel
Date: Mon Oct  3 01:46:47 2016
New Revision: 306620
URL: https://svnweb.freebsd.org/changeset/base/306620

Log:
  Replace STAILQ with TAILQ. TAILQs are portable enough that they can
  be used on both macOS and Linux. STAILQs are not. In particular,
  STAILQ_LAST does not next on Linux. Since neither STAILQ_FOREACH_SAFE
  nor TAILQ_FOREACH_SAFE exist on Linux, replace its use with a regular
  TAILQ_FOREACH. The _SAFE variant was only used for having the next
  pointer in a local variable.

Modified:
  head/usr.bin/mkimg/apm.c
  head/usr.bin/mkimg/bsd.c
  head/usr.bin/mkimg/ebr.c
  head/usr.bin/mkimg/gpt.c
  head/usr.bin/mkimg/image.c
  head/usr.bin/mkimg/mbr.c
  head/usr.bin/mkimg/mkimg.c
  head/usr.bin/mkimg/mkimg.h
  head/usr.bin/mkimg/pc98.c
  head/usr.bin/mkimg/vtoc8.c

Modified: head/usr.bin/mkimg/apm.c
==============================================================================
--- head/usr.bin/mkimg/apm.c    Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/apm.c    Mon Oct  3 01:46:47 2016        (r306620)
@@ -91,7 +91,7 @@ apm_write(lba_t imgsz, void *bootcode __
        strncpy(ent->ent_type, APM_ENT_TYPE_SELF, sizeof(ent->ent_type));
        strncpy(ent->ent_name, "Apple", sizeof(ent->ent_name));
 
-       STAILQ_FOREACH(part, &partlist, link) {
+       TAILQ_FOREACH(part, &partlist, link) {
                ent = (void *)(buf + (part->index + 2) * secsz);
                be16enc(&ent->ent_sig, APM_ENT_SIG);
                be32enc(&ent->ent_pmblkcnt, nparts + 1);

Modified: head/usr.bin/mkimg/bsd.c
==============================================================================
--- head/usr.bin/mkimg/bsd.c    Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/bsd.c    Mon Oct  3 01:46:47 2016        (r306620)
@@ -103,7 +103,7 @@ bsd_write(lba_t imgsz, void *bootcode)
 
        dp = &d->d_partitions[RAW_PART];
        le32enc(&dp->p_size, imgsz);
-       STAILQ_FOREACH(part, &partlist, link) {
+       TAILQ_FOREACH(part, &partlist, link) {
                n = part->index + ((part->index >= RAW_PART) ? 1 : 0);
                dp = &d->d_partitions[n];
                le32enc(&dp->p_size, part->size);

Modified: head/usr.bin/mkimg/ebr.c
==============================================================================
--- head/usr.bin/mkimg/ebr.c    Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/ebr.c    Mon Oct  3 01:46:47 2016        (r306620)
@@ -88,7 +88,7 @@ ebr_write(lba_t imgsz __unused, void *bo
        le16enc(ebr + DOSMAGICOFFSET, DOSMAGIC);
 
        error = 0;
-       STAILQ_FOREACH_SAFE(part, &partlist, link, next) {
+       TAILQ_FOREACH(part, &partlist, link) {
                block = part->block - nsecs;
                size = round_track(part->size);
                dp = (void *)(ebr + DOSPARTOFF);
@@ -100,6 +100,7 @@ ebr_write(lba_t imgsz __unused, void *bo
                le32enc(&dp->dp_size, size);
 
                /* Add link entry */
+               next = TAILQ_NEXT(part, link);
                if (next != NULL) {
                        size = round_track(next->size);
                        dp++;

Modified: head/usr.bin/mkimg/gpt.c
==============================================================================
--- head/usr.bin/mkimg/gpt.c    Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/gpt.c    Mon Oct  3 01:46:47 2016        (r306620)
@@ -208,7 +208,7 @@ gpt_mktbl(u_int tblsz)
        if (tbl == NULL)
                return (NULL);
 
-       STAILQ_FOREACH(part, &partlist, link) {
+       TAILQ_FOREACH(part, &partlist, link) {
                ent = tbl + part->index;
                gpt_uuid_enc(&ent->ent_type, ALIAS_TYPE2PTR(part->type));
                mkimg_uuid(&uuid);

Modified: head/usr.bin/mkimg/image.c
==============================================================================
--- head/usr.bin/mkimg/image.c  Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/image.c  Mon Oct  3 01:46:47 2016        (r306620)
@@ -60,7 +60,7 @@ __FBSDID("$FreeBSD$");
 #endif
 
 struct chunk {
-       STAILQ_ENTRY(chunk) ch_list;
+       TAILQ_ENTRY(chunk) ch_list;
        size_t  ch_size;                /* Size of chunk in bytes. */
        lba_t   ch_block;               /* Block address in image. */
        union {
@@ -78,7 +78,7 @@ struct chunk {
 #define        CH_TYPE_MEMORY          2       /* Memory-backed chunk */
 };
 
-static STAILQ_HEAD(chunk_head, chunk) image_chunks;
+static TAILQ_HEAD(chunk_head, chunk) image_chunks;
 static u_int image_nchunks;
 
 static char image_swap_file[PATH_MAX];
@@ -139,14 +139,14 @@ image_chunk_find(lba_t blk)
        struct chunk *ch;
 
        ch = (last != NULL && last->ch_block <= blk)
-           ? last : STAILQ_FIRST(&image_chunks);
+           ? last : TAILQ_FIRST(&image_chunks);
        while (ch != NULL) {
                if (ch->ch_block <= blk &&
                    (lba_t)(ch->ch_block + (ch->ch_size / secsz)) > blk) {
                        last = ch;
                        break;
                }
-               ch = STAILQ_NEXT(ch, ch_list);
+               ch = TAILQ_NEXT(ch, ch_list);
        }
        return (ch);
 }
@@ -188,7 +188,7 @@ image_chunk_memory(struct chunk *ch, lba
                ch->ch_size = (blk - ch->ch_block) * secsz;
                new->ch_block = blk;
                new->ch_size -= ch->ch_size;
-               STAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list);
+               TAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list);
                image_nchunks++;
                ch = new;
        }
@@ -203,7 +203,7 @@ image_chunk_memory(struct chunk *ch, lba
                ch->ch_size = secsz;
                new->ch_block++;
                new->ch_size -= secsz;
-               STAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list);
+               TAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list);
                image_nchunks++;
        }
 
@@ -219,7 +219,7 @@ image_chunk_skipto(lba_t to)
        lba_t from;
        size_t sz;
 
-       ch = STAILQ_LAST(&image_chunks, chunk, ch_list);
+       ch = TAILQ_LAST(&image_chunks, chunk_head);
        from = (ch != NULL) ? ch->ch_block + (ch->ch_size / secsz) : 0LL;
 
        assert(from <= to);
@@ -244,7 +244,7 @@ image_chunk_skipto(lba_t to)
        ch->ch_block = from;
        ch->ch_size = sz;
        ch->ch_type = CH_TYPE_ZEROES;
-       STAILQ_INSERT_TAIL(&image_chunks, ch, ch_list);
+       TAILQ_INSERT_TAIL(&image_chunks, ch, ch_list);
        image_nchunks++;
        return (0);
 }
@@ -254,7 +254,7 @@ image_chunk_append(lba_t blk, size_t sz,
 {
        struct chunk *ch;
 
-       ch = STAILQ_LAST(&image_chunks, chunk, ch_list);
+       ch = TAILQ_LAST(&image_chunks, chunk_head);
        if (ch != NULL && ch->ch_type == CH_TYPE_FILE) {
                if (fd == ch->ch_u.file.fd &&
                    blk == (lba_t)(ch->ch_block + (ch->ch_size / secsz)) &&
@@ -275,7 +275,7 @@ image_chunk_append(lba_t blk, size_t sz,
        ch->ch_type = CH_TYPE_FILE;
        ch->ch_u.file.ofs = ofs;
        ch->ch_u.file.fd = fd;
-       STAILQ_INSERT_TAIL(&image_chunks, ch, ch_list);
+       TAILQ_INSERT_TAIL(&image_chunks, ch, ch_list);
        image_nchunks++;
        return (0);
 }
@@ -698,7 +698,7 @@ image_cleanup(void)
 {
        struct chunk *ch;
 
-       while ((ch = STAILQ_FIRST(&image_chunks)) != NULL) {
+       while ((ch = TAILQ_FIRST(&image_chunks)) != NULL) {
                switch (ch->ch_type) {
                case CH_TYPE_FILE:
                        /* We may be closing the same file multiple times. */
@@ -711,7 +711,7 @@ image_cleanup(void)
                default:
                        break;
                }
-               STAILQ_REMOVE_HEAD(&image_chunks, ch_list);
+               TAILQ_REMOVE(&image_chunks, ch, ch_list);
                free(ch);
        }
        if (image_swap_fd != -1)
@@ -724,7 +724,7 @@ image_init(void)
 {
        const char *tmpdir;
 
-       STAILQ_INIT(&image_chunks);
+       TAILQ_INIT(&image_chunks);
        image_nchunks = 0;
 
        image_swap_size = 0;

Modified: head/usr.bin/mkimg/mbr.c
==============================================================================
--- head/usr.bin/mkimg/mbr.c    Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/mbr.c    Mon Oct  3 01:46:47 2016        (r306620)
@@ -101,7 +101,7 @@ mbr_write(lba_t imgsz __unused, void *bo
                memset(mbr, 0, secsz);
        le16enc(mbr + DOSMAGICOFFSET, DOSMAGIC);
        dpbase = (void *)(mbr + DOSPARTOFF);
-       STAILQ_FOREACH(part, &partlist, link) {
+       TAILQ_FOREACH(part, &partlist, link) {
                size = round_track(part->size);
                dp = dpbase + part->index;
                dp->dp_flag = (part->index == 0 && bootcode != NULL) ? 0x80 : 0;

Modified: head/usr.bin/mkimg/mkimg.c
==============================================================================
--- head/usr.bin/mkimg/mkimg.c  Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/mkimg.c  Mon Oct  3 01:46:47 2016        (r306620)
@@ -61,7 +61,7 @@ static struct option longopts[] = {
 
 static uint64_t capacity;
 
-struct partlisthead partlist = STAILQ_HEAD_INITIALIZER(partlist);
+struct partlisthead partlist = TAILQ_HEAD_INITIALIZER(partlist);
 u_int nparts = 0;
 
 u_int unit_testing;
@@ -301,7 +301,7 @@ parse_part(const char *spec)
        }
 
        part->index = nparts;
-       STAILQ_INSERT_TAIL(&partlist, part, link);
+       TAILQ_INSERT_TAIL(&partlist, part, link);
        nparts++;
        return (0);
 
@@ -412,14 +412,14 @@ mkimg(void)
        int error, fd;
 
        /* First check partition information */
-       STAILQ_FOREACH(part, &partlist, link) {
+       TAILQ_FOREACH(part, &partlist, link) {
                error = scheme_check_part(part);
                if (error)
                        errc(EX_DATAERR, error, "partition %d", part->index+1);
        }
 
        block = scheme_metadata(SCHEME_META_IMG_START, 0);
-       STAILQ_FOREACH(part, &partlist, link) {
+       TAILQ_FOREACH(part, &partlist, link) {
                block = scheme_metadata(SCHEME_META_PART_BEFORE, block);
                if (verbose)
                        fprintf(stderr, "partition %d: starting block %llu "

Modified: head/usr.bin/mkimg/mkimg.h
==============================================================================
--- head/usr.bin/mkimg/mkimg.h  Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/mkimg.h  Mon Oct  3 01:46:47 2016        (r306620)
@@ -32,7 +32,7 @@
 #include <sys/queue.h>
 
 struct part {
-       STAILQ_ENTRY(part) link;
+       TAILQ_ENTRY(part) link;
        char    *alias;         /* Partition type alias. */
        char    *contents;      /* Contents/size specification. */
        u_int   kind;           /* Content kind. */
@@ -47,7 +47,7 @@ struct part {
        char    *label;         /* Partition label. */
 };
 
-extern STAILQ_HEAD(partlisthead, part) partlist;
+extern TAILQ_HEAD(partlisthead, part) partlist;
 extern u_int nparts;
 
 extern u_int unit_testing;

Modified: head/usr.bin/mkimg/pc98.c
==============================================================================
--- head/usr.bin/mkimg/pc98.c   Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/pc98.c   Mon Oct  3 01:46:47 2016        (r306620)
@@ -97,7 +97,7 @@ pc98_write(lba_t imgsz __unused, void *b
                memset(buf, 0, PC98_BOOTCODESZ);
        le16enc(buf + PC98_MAGICOFS, PC98_MAGIC);
        dpbase = (void *)(buf + secsz);
-       STAILQ_FOREACH(part, &partlist, link) {
+       TAILQ_FOREACH(part, &partlist, link) {
                size = round_track(part->size);
                dp = dpbase + part->index;
                ptyp = ALIAS_TYPE2INT(part->type);

Modified: head/usr.bin/mkimg/vtoc8.c
==============================================================================
--- head/usr.bin/mkimg/vtoc8.c  Mon Oct  3 01:08:34 2016        (r306619)
+++ head/usr.bin/mkimg/vtoc8.c  Mon Oct  3 01:46:47 2016        (r306620)
@@ -87,7 +87,7 @@ vtoc8_write(lba_t imgsz, void *bootcode 
        be16enc(&vtoc8.magic, VTOC_MAGIC);
 
        be32enc(&vtoc8.map[VTOC_RAW_PART].nblks, imgsz);
-       STAILQ_FOREACH(part, &partlist, link) {
+       TAILQ_FOREACH(part, &partlist, link) {
                n = part->index + ((part->index >= VTOC_RAW_PART) ? 1 : 0);
                be16enc(&vtoc8.part[n].tag, ALIAS_TYPE2INT(part->type));
                be32enc(&vtoc8.map[n].cyl, part->block / (nsecs * nheads));
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to