<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch gsoc17-migrate
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/7124581fc0ae374eea5f66ca365576163d0582f1">https://github.com/macports/macports-base/commit/7124581fc0ae374eea5f66ca365576163d0582f1</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 7124581fc0ae374eea5f66ca365576163d0582f1
</span>Author: Umesh Singla <umeshksingla@macports.org>
AuthorDate: Sat Aug 12 23:54:27 2017 +0530

<span style='display:block; white-space:pre;color:#404040;'>    WIP: Move cregistry snapshot functions
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    move all methods dealing with snapshot from entry.c to snapshot.c,
</span><span style='display:block; white-space:pre;color:#404040;'>    to better modularize
</span>---
 src/cregistry/entry.h    | 35 ----------------------
 src/cregistry/snapshot.h | 75 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+), 35 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/cregistry/entry.h b/src/cregistry/entry.h
</span><span style='display:block; white-space:pre;color:#808080;'>index faeec9d..67bbf5f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/cregistry/entry.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/cregistry/entry.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,25 +42,6 @@ typedef struct {
</span>     char* proc; /* name of Tcl proc, if using Tcl */
 } reg_entry;
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    char* variant_name;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    char* variant_sign;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} variant;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    char* name;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    int requested;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    char* state;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant* variants;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} port;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    char* id;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    char* note;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    port* ports;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    char* proc; /* name of Tcl proc, if using Tcl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} reg_snapshot;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> reg_entry* reg_entry_create(reg_registry* reg, char* name, char* version,
         char* revision, char* variants, char* epoch, reg_error* errPtr);
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -113,22 +94,6 @@ int reg_entry_dependencies(reg_entry* entry, reg_entry*** dependencies,
</span>         reg_error* errPtr);
 int reg_entry_depends(reg_entry* entry, char* name, reg_error* errPtr);
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-reg_entry* reg_snapshot_create(reg_registry* reg, char* note,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int snapshot_store_ports(reg_registry* reg, reg_entry* entry,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int snapshot_store_port_variants(reg_registry* reg, reg_entry* port_entry,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        int snapshot_ports_id, reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int get_parsed_variants(char* variants_str, variant* all_variants,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    char* delim, int* variant_count);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-char* reg_snapshot_get_id(reg_registry* reg, reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int reg_snapshot_port_variants_get(reg_registry* reg,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        sqlite_int64 snapshot_port_id, variant** variants, reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int reg_snapshot_get(reg_registry* reg, char* id,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reg_snapshot* snapshot, reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> int reg_all_open_entries(reg_registry* reg, reg_entry*** entries);
 
 #endif /* _CENTRY_H */
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/cregistry/snapshot.h b/src/cregistry/snapshot.h
</span><span style='display:block; white-space:pre;color:#808080;'>index e69de29..e74824a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/cregistry/snapshot.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/cregistry/snapshot.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,75 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * snapshot.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * vim:tw=80:expandtab
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Copyright (c) 2017 The MacPorts Project
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * All rights reserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Redistribution and use in source and binary forms, with or without
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * modification, are permitted provided that the following conditions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * are met:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * 1. Redistributions of source code must retain the above copyright
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *    notice, this list of conditions and the following disclaimer.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * 2. Redistributions in binary form must reproduce the above copyright
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *    notice, this list of conditions and the following disclaimer in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *    documentation and/or other materials provided with the distribution.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef _CSNAPSHOT_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _CSNAPSHOT_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if HAVE_CONFIG_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <config.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include "registry.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <sqlite3.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+typedef struct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    char* variant_name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    char* variant_sign;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} variant;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+typedef struct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    char* name;g
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    int requested;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    char* state;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant* variants;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} port;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+typedef struct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    char* id;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    char* note;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port* ports;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reg_registry* reg; /* associated registry */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    char* proc; /* name of Tcl proc, if using Tcl */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} reg_snapshot;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int get_parsed_variants(char* variants_str, variant* all_variants,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    char* delim, int* variant_count);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+reg_entry* reg_snapshot_create(reg_registry* reg, char* note,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+char* reg_snapshot_get_id(reg_registry* reg, reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int reg_snapshot_get(reg_registry* reg, char* id,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reg_snapshot* snapshot, reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int reg_snapshot_port_variants_get(reg_registry* reg,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sqlite_int64 snapshot_port_id, variant** variants, reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int snapshot_store_ports(reg_registry* reg, reg_entry* entry,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int snapshot_store_port_variants(reg_registry* reg, reg_entry* port_entry,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        int snapshot_ports_id, reg_error* errPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* _CSNAPSHOT_H */
</span></pre><pre style='margin:0'>

</pre>