Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jun 2009 06:14:49 GMT
From:      David Forsythe <dforsyth@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 164931 for review
Message-ID:  <200906230614.n5N6En5c046419@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=164931

Change 164931 by dforsyth@squirrel on 2009/06/23 06:14:03

	Mock pkg_info spits out conflicts.

Affected files ...

.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#25 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#24 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#3 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#3 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#18 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#15 edit
.. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#18 edit

Differences ...

==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#25 (text+ko) ====

@@ -315,6 +315,24 @@
 }
 
 void
+pkg_pkg_cfl_list_init(struct pkg *p)
+{
+	if (p == NULL)
+		arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT);
+
+	return (pkg_plist_pkg_cfl_list_reset(&p->plist));
+}
+
+struct pkg_cfl *
+pkg_pkg_cfl_list_next(struct pkg *p)
+{
+	if (p == NULL)
+		arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT);
+
+	return (pkg_plist_pkg_cfl_list_next(&p->plist));
+}
+
+void
 pkg_reset(struct pkg *p)
 {
 	if (p == NULL)

==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#24 (text+ko) ====

@@ -93,6 +93,16 @@
 
 const char *pkg_dep_origin(struct pkg_dep *pd);
 
+/* pkg_cfl */
+
+struct pkg_cfl;
+
+struct pkg_cfl *pkg_cfl_new(void);
+
+int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name);
+
+const char *pkg_cfl_name(struct pkg_cfl *pc);
+
 /* pkg */
 
 /* Add mtree stuff later. */
@@ -165,6 +175,10 @@
 
 struct pkg_dep *pkg_pkg_dep_list_next(struct pkg *p);
 
+void pkg_pkg_cfl_list_init(struct pkg *p);
+
+struct pkg_cfl *pkg_pkg_cfl_list_next(struct pkg *p);
+
 void pkg_delete(struct pkg *p);
 
 /* pkgdb */

==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.c#3 (text+ko) ====

@@ -30,3 +30,12 @@
 
 	return ((pc->name == NULL) ? MEMORY_ERR | NOT_OK : OK);
 }
+
+const char *
+pkg_cfl_name(struct pkg_cfl *pc)
+{
+	if (pc == NULL)
+		arg_rage_quit(__func__, "Not a valid conflict.", RAGE_AT_LIBPKG);
+
+	return pc->name;
+}

==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#3 (text+ko) ====

@@ -9,8 +9,12 @@
 	TAILQ_ENTRY(pkg_cfl) next;
 };
 
+#if 0
 struct pkg_cfl *pkg_cfl_new(void);
 
 int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name);
 
+const char *pkg_cfl_name(struct pkg_cfl *pc);
+#endif
+
 #endif

==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#18 (text+ko) ====

@@ -283,6 +283,7 @@
 			pc = pkg_cfl_new();
 			pkg_cfl_set_name(pc, argument);
 			pkg_plist_pkg_cfl_list_append(pl, pc);
+			printf("appended %s\n", argument);
 			st->last_elem = PLIST_CONFLICTS;
 		}
 #if 0
@@ -552,3 +553,41 @@
 
 	TAILQ_INSERT_TAIL(&pl->pkg_cfl_head, pc, next);
 }
+
+struct pkg_cfl *
+pkg_plist_pkg_cfl_list_first(struct pkg_plist *pl)
+{
+	if (pl == NULL)
+		arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG);
+
+	return (TAILQ_FIRST(&pl->pkg_cfl_head));
+}
+
+void 
+pkg_plist_pkg_cfl_list_reset(struct pkg_plist *pl)
+{
+	if (pl == NULL)
+		arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG);
+
+	pl->pkg_cfl_curr = NULL;
+}
+
+struct pkg_cfl *
+pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl)
+{
+	struct pkg_cfl *pc;
+
+	if (pl == NULL)
+		arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG);
+	
+	if (pl->pkg_cfl_curr == NULL) 
+		pc = pkg_plist_pkg_cfl_list_first(pl);
+	else
+		pc = TAILQ_NEXT(pl->pkg_cfl_curr, next);
+	
+	if (pc != NULL)
+		pl->pkg_cfl_curr = pc;
+	
+	return (pc);
+}
+

==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#15 (text+ko) ====

@@ -148,4 +148,9 @@
 
 void pkg_plist_pkg_cfl_list_append(struct pkg_plist *pl,
 	struct pkg_cfl *pc);
+
+void pkg_plist_pkg_cfl_list_reset(struct pkg_plist *pl);
+struct pkg_cfl *pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl);
+struct pkg_cfl *pkg_plist_pkg_cfl_list_first(struct pkg_plist *pl);
+
 #endif

==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#18 (text+ko) ====

@@ -120,6 +120,7 @@
 {
 	struct pkg_file *pf;
 	struct pkg_dep *pd;
+	struct pkg_cfl *pc;
 	const char *ident;
 	const char *comment;
 	const char *name;
@@ -189,6 +190,13 @@
 			origin = pkg_dep_origin(pd);
 			printf("\t\t%s : %s\n", name, origin);
 		}
+
+		printf("\tconflicts:\n");
+		pkg_pkg_cfl_list_init(p);
+		while ((pc = pkg_pkg_cfl_list_next(p)) != NULL) {
+			name = pkg_cfl_name(pc);
+			printf("\t\t%s\n", name);
+		}
 	}
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906230614.n5N6En5c046419>