[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-cvs: gaf.git: branch: master updated (1.6.1-20100214-200-g8bef5cf)
The branch, master has been updated
via 8bef5cf39dce867509d77d9ab6794f17f27d2216 (commit)
via f86eecd36a603fd3b51ce926de605bbdb3d6caaf (commit)
via 2a9e92fa59aafcd18286ebf0816fb54bafaac386 (commit)
via a0f88128241e9b8e5138ccf7bcc862b4f9ff638f (commit)
from 007feece464d1b07e45bfd66b5d9b07be5b77c00 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
=========
Summary
=========
gnetlist/include/globals.h | 3 -
gnetlist/include/prototype.h | 4 -
gnetlist/scheme/gnetlist.scm | 29 +
gnetlist/src/g_netlist.c | 133 ---
gnetlist/src/g_register.c | 4 -
gnetlist/src/globals.c | 3 -
gnetlist/src/gnetlist.c | 2 +-
gnetlist/src/parsecmd.c | 20 -
gnetlist/tests/powersupply.protelII | 1522 +++++++++++++++++-----------------
gnetlist/tests/singlenet.protelII | 162 ++--
gschem/src/x_multiattrib.c | 1 -
gschem/src/x_pagesel.c | 1 -
12 files changed, 872 insertions(+), 1012 deletions(-)
=================
Commit Messages
=================
commit 8bef5cf39dce867509d77d9ab6794f17f27d2216
Author: Patrick Bernaud <patrickb@xxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>
gnetlist: Set Guile's program arguments from command line.
Reviewed-by: Peter TB Brett <peter@xxxxxxxxxxxxx>
:100644 100644 edf497c... cde0f64... M gnetlist/include/globals.h
:100644 100644 289d96e... 0b2a7a6... M gnetlist/include/prototype.h
:100644 100644 9111eb7... eaa83ef... M gnetlist/scheme/gnetlist.scm
:100644 100644 87905cd... 47cc221... M gnetlist/src/g_netlist.c
:100644 100644 fbadcda... c14e07e... M gnetlist/src/g_register.c
:100644 100644 839ab72... cd56583... M gnetlist/src/globals.c
:100644 100644 3471b97... 72680cc... M gnetlist/src/gnetlist.c
:100644 100644 c7b8592... 9d48849... M gnetlist/src/parsecmd.c
commit f86eecd36a603fd3b51ce926de605bbdb3d6caaf
Author: Patrick Bernaud <patrickb@xxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>
gnetlist: Translate 'gnetlist:get-slots/get-unique-slots' from C into Scheme.
Reviewed-by: Peter TB Brett <peter@xxxxxxxxxxxxx>
:100644 100644 3a976c2... 289d96e... M gnetlist/include/prototype.h
:100644 100644 491d712... 9111eb7... M gnetlist/scheme/gnetlist.scm
:100644 100644 ef8d5fe... 87905cd... M gnetlist/src/g_netlist.c
:100644 100644 a1bf749... fbadcda... M gnetlist/src/g_register.c
commit 2a9e92fa59aafcd18286ebf0816fb54bafaac386
Author: Patrick Bernaud <patrickb@xxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>
gschem: Do not attempt to set GtkWindow's type after construction.
Reviewed-by: Peter TB Brett <peter@xxxxxxxxxxxxx>
:100644 100644 3b611de... ae417b2... M gschem/src/x_multiattrib.c
:100644 100644 43331bd... af1a3ed... M gschem/src/x_pagesel.c
commit a0f88128241e9b8e5138ccf7bcc862b4f9ff638f
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>
gnetlist: Convert protelII test golden files to DOS line endings.
Convert golden files that were missed in commit 007feece464d.
:100644 100644 a376138... bed07f3... M gnetlist/tests/powersupply.protelII
:100644 100644 6b6a1a8... 11f2524... M gnetlist/tests/singlenet.protelII
=========
Changes
=========
commit 8bef5cf39dce867509d77d9ab6794f17f27d2216
Author: Patrick Bernaud <patrickb@xxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>
gnetlist: Set Guile's program arguments from command line.
Reviewed-by: Peter TB Brett <peter@xxxxxxxxxxxxx>
diff --git a/gnetlist/include/globals.h b/gnetlist/include/globals.h
index edf497c..cde0f64 100644
--- a/gnetlist/include/globals.h
+++ b/gnetlist/include/globals.h
@@ -40,6 +40,3 @@ extern char *output_filename;
extern GSList *pre_backend_list; /* before backend loaded */
extern GSList *post_backend_list; /* after backend loaded, before execute */
extern GSList *backend_params; /* Parameters passed to the backend from the command line */
-
-/* stuff to pass command line to Scheme back end */
-extern char *command_line;
diff --git a/gnetlist/include/prototype.h b/gnetlist/include/prototype.h
index 289d96e..0b2a7a6 100644
--- a/gnetlist/include/prototype.h
+++ b/gnetlist/include/prototype.h
@@ -1,7 +1,6 @@
/* g_netlist.c */
void g_set_project_current(TOPLEVEL *pr_current);
SCM g_scm_c_get_uref(TOPLEVEL *toplevel, OBJECT *object);
-SCM g_get_command_line(); /* SDB -- 8.22.2004 */
SCM g_get_calling_flags(); /* SDB -- 9.1.2003 */
SCM g_get_packages(SCM level);
SCM g_get_non_unique_packages(SCM level);
@@ -43,7 +42,6 @@ int main(int argc, char *argv[]);
void i_vars_set(TOPLEVEL *pr_current);
/* parsecmd.c */
void usage(char *cmd);
-char *create_command_line(int argc, char *argv[]);
int parse_commandline(int argc, char *argv[]);
/* s_cpinlist.c */
CPINLIST *s_cpinlist_return_tail(CPINLIST *head);
diff --git a/gnetlist/scheme/gnetlist.scm b/gnetlist/scheme/gnetlist.scm
index 9111eb7..eaa83ef 100644
--- a/gnetlist/scheme/gnetlist.scm
+++ b/gnetlist/scheme/gnetlist.scm
@@ -340,3 +340,7 @@ REFDES. As a result, slots may be repeated in the returned list."
;; define the default handler for get-uref
(define get-uref gnetlist:get-uref)
+
+(define (gnetlist:get-command-line)
+ "Return the command line used to invoke the program."
+ (string-join (program-arguments)))
diff --git a/gnetlist/src/g_netlist.c b/gnetlist/src/g_netlist.c
index 87905cd..47cc221 100644
--- a/gnetlist/src/g_netlist.c
+++ b/gnetlist/src/g_netlist.c
@@ -785,22 +785,6 @@ SCM g_get_calling_flags()
}
-/* -------------------------------------------------------------------- *
- * This fcn returns the command line with which gnetlist was invoked.
- * It is used to write the first line of a SPICE file when netlisting
- * to SPICE.
- * SDB -- 8.22.2004.
- * -------------------------------------------------------------------- */
-SCM g_get_command_line()
-{
- SCM commandline;
-
- commandline = scm_makfrom0str (command_line);
-
- return (commandline);
-}
-
-
/* given a net name, an attribute, and a wanted attribute, return all
the given attribute of all the graphical objects connected to that
net name */
diff --git a/gnetlist/src/g_register.c b/gnetlist/src/g_register.c
index fbadcda..c14e07e 100644
--- a/gnetlist/src/g_register.c
+++ b/gnetlist/src/g_register.c
@@ -94,8 +94,6 @@ static struct gsubr_t gnetlist_funcs[] = {
/* SDB -- 9.1.2003 */
{ "gnetlist:get-calling-flags", 0, 0, 0, g_get_calling_flags },
- /* SDB -- 8.22.2004 */
- { "gnetlist:get-command-line", 0, 0, 0, g_get_command_line },
{ NULL, 0, 0, 0, NULL } };
diff --git a/gnetlist/src/globals.c b/gnetlist/src/globals.c
index 839ab72..cd56583 100644
--- a/gnetlist/src/globals.c
+++ b/gnetlist/src/globals.c
@@ -63,8 +63,5 @@ GSList *pre_backend_list=NULL;
/* execution of the backend procedure */
GSList *post_backend_list=NULL;
-/* String holding command line */
-char *command_line = NULL;
-
/* Parameters passed to the backend from the command line */
GSList *backend_params = NULL;
diff --git a/gnetlist/src/gnetlist.c b/gnetlist/src/gnetlist.c
index 3471b97..72680cc 100644
--- a/gnetlist/src/gnetlist.c
+++ b/gnetlist/src/gnetlist.c
@@ -122,7 +122,7 @@ void main_prog(void *closure, int argc, char *argv[])
argv_index = parse_commandline(argc, argv);
cwd = g_get_current_dir();
- command_line = create_command_line(argc, argv);
+ scm_set_program_arguments (argc, argv, NULL);
/* this is a kludge to make sure that spice mode gets set */
/* Hacked by SDB to allow spice netlisters of arbitrary name
diff --git a/gnetlist/src/parsecmd.c b/gnetlist/src/parsecmd.c
index c7b8592..9d48849 100644
--- a/gnetlist/src/parsecmd.c
+++ b/gnetlist/src/parsecmd.c
@@ -89,26 +89,6 @@ void usage(char *cmd)
exit(0);
}
-/* --------------------------------------------------------------- *
- * create_command_line takes argc and argv, and returns a single
- * string which is the command line used to invoke the program.
- * It is used to pass the command invocation to the SPICE netlist
- * for inclusion on the first SPICE line.
- * 8.22.2004 -- SDB.
- * --------------------------------------------------------------- */
-char *create_command_line(int argc, char *argv[])
-{
- int i;
- char *local_command_line = NULL;
-
- local_command_line = g_strdup (argv[0]); /* Initialize command line string */
- for (i = 1; i < argc; i++) {
- local_command_line = g_strconcat (local_command_line, " ", argv[i], NULL);
- }
- return local_command_line;
-}
-
-
/* from guile (libguile/gh_init.c) */
static SCM
commit f86eecd36a603fd3b51ce926de605bbdb3d6caaf
Author: Patrick Bernaud <patrickb@xxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>
gnetlist: Translate 'gnetlist:get-slots/get-unique-slots' from C into Scheme.
Reviewed-by: Peter TB Brett <peter@xxxxxxxxxxxxx>
diff --git a/gnetlist/include/prototype.h b/gnetlist/include/prototype.h
index 3a976c2..289d96e 100644
--- a/gnetlist/include/prototype.h
+++ b/gnetlist/include/prototype.h
@@ -15,8 +15,6 @@ SCM g_get_all_package_attributes(SCM scm_uref, SCM scm_wanted_attrib);
SCM g_get_attribute_by_pinseq(SCM scm_uref, SCM scm_pinseq, SCM scm_wanted_attrib);
SCM g_get_attribute_by_pinnumber(SCM scm_uref, SCM scm_pin, SCM scm_wanted_attrib);
SCM g_get_toplevel_attribute(SCM scm_wanted_attrib);
-SCM g_get_slots(SCM scm_uref);
-SCM g_get_unique_slots(SCM scm_uref);
SCM g_graphical_objs_in_net_with_attrib_get_attrib(SCM scm_netname, SCM scm_has_attribute, SCM scm_wanted_attribute);
/* g_rc.c */
SCM g_rc_gnetlist_version(SCM version);
diff --git a/gnetlist/scheme/gnetlist.scm b/gnetlist/scheme/gnetlist.scm
index 491d712..9111eb7 100644
--- a/gnetlist/scheme/gnetlist.scm
+++ b/gnetlist/scheme/gnetlist.scm
@@ -135,6 +135,31 @@ loaded after the backend ('-m' option of gnetlist)."
(unique-attribute refdes name values))))
(or value "unknown")))
+(define (gnetlist:get-slots refdes)
+ "Return a sorted list of slots used by package REFDES.
+
+It collects the slot attribute values of each symbol instance of
+REFDES. As a result, slots may be repeated in the returned list."
+ (sort-list!
+ (filter-map
+ (lambda (slot)
+ (if slot
+ ;; convert string attribute value to number
+ (or (string->number slot)
+ ;; conversion failed, invalid slot, ignore value
+ (begin
+ (format (current-error-port)
+ "Uref ~a: Bad slot number: ~a.\n" refdes slot)
+ #f))
+ ;; no slot attribute, assume slot number is 1
+ 1))
+ (gnetlist:get-all-package-attributes refdes "slot"))
+ <))
+
+(define (gnetlist:get-unique-slots refdes)
+ "Return a sorted list of unique slots used by package REFDES."
+ (delete-duplicates! (gnetlist:get-slots refdes)))
+
;;
;; Given a uref, returns the device attribute value (unknown if not defined)
;;
diff --git a/gnetlist/src/g_netlist.c b/gnetlist/src/g_netlist.c
index ef8d5fe..87905cd 100644
--- a/gnetlist/src/g_netlist.c
+++ b/gnetlist/src/g_netlist.c
@@ -749,123 +749,6 @@ SCM g_set_netlist_mode(SCM mode)
}
#endif
-/* Given an uref, return a list of used slots in the schematic */
-/* in the form: (1 2 3 4). Repeated slots are returned. */
-SCM g_get_slots(SCM scm_uref)
-{
- NETLIST *nl_current;
- char *uref;
- gchar *slot = NULL;
- char *slot_tmp = NULL;
- SCM slots_list = SCM_EOL;
- SCM slot_number;
-
-
- SCM_ASSERT(scm_is_string (scm_uref),
- scm_uref, SCM_ARG1, "gnetlist:get-slots-used-of-package");
-
- uref = SCM_STRING_CHARS (scm_uref);
-
- /* here is where you make it multi page aware */
- nl_current = netlist_head;
-
- /* search for the first instance */
- /* through the entire list */
- while (nl_current != NULL) {
-
- if (nl_current->component_uref) {
- if (strcmp(nl_current->component_uref, uref) == 0) {
-
- /* first search outside the symbol */
- slot_tmp =
- o_attrib_search_object_attribs_by_name (nl_current->object_ptr,
- "slot", 0);
-
- /* When a package has no slot attribute, then assume it's slot number 1 */
- if (!slot_tmp) {
- slot_tmp=g_strdup("1");
- }
- slot = g_strconcat ("#d", slot_tmp, NULL);
- slot_number = scm_string_to_number(scm_makfrom0str (slot),
- scm_from_int(10));
- g_free (slot);
- if (slot_number != SCM_BOOL_F) {
- slots_list = scm_cons (slot_number, slots_list);
- }
- else
- fprintf(stderr, "Uref %s: Bad slot number: %s.\n", uref, slot_tmp);
- g_free (slot_tmp);
- }
- }
- nl_current = nl_current->next;
- }
-
- slots_list = scm_sort_list_x(slots_list,
- SCM_VARIABLE_REF (scm_c_module_lookup (
- scm_current_module (), "<")));
-
- return (slots_list);
-}
-
-/* Given an uref, return a unique list of used slots in the schematic */
-/* in the form: (1 2 3 4). Repeated slots are NOT returned */
-SCM g_get_unique_slots(SCM scm_uref)
-{
- NETLIST *nl_current;
- char *uref;
- gchar *slot = NULL;
- char *slot_tmp = NULL;
- SCM slots_list = SCM_EOL;
- SCM slot_number;
-
-
- SCM_ASSERT(scm_is_string (scm_uref),
- scm_uref, SCM_ARG1, "gnetlist:get-unique-slots-used-of-package");
-
- uref = SCM_STRING_CHARS (scm_uref);
-
- /* here is where you make it multi page aware */
- nl_current = netlist_head;
-
- /* search for the first instance */
- /* through the entire list */
- while (nl_current != NULL) {
-
- if (nl_current->component_uref) {
- if (strcmp(nl_current->component_uref, uref) == 0) {
-
- /* first search outside the symbol */
- slot_tmp =
- o_attrib_search_object_attribs_by_name (nl_current->object_ptr,
- "slot", 0);
-
- /* When a package has no slot attribute, then assume it's slot number 1 */
- if (!slot_tmp) {
- slot_tmp=g_strdup("1");
- }
- slot = g_strconcat ("#d", slot_tmp, NULL);
- slot_number = scm_string_to_number(scm_makfrom0str (slot),
- scm_from_int(10));
- g_free (slot);
- if (slot_number != SCM_BOOL_F) {
- if (scm_member(slot_number, slots_list) == SCM_BOOL_F) {
- slots_list = scm_cons (slot_number, slots_list);
- }
- }
- else
- fprintf(stderr, "Uref %s: Bad slot number: %s.\n", uref, slot_tmp);
- g_free (slot_tmp);
- }
- }
- nl_current = nl_current->next;
- }
-
- slots_list = scm_sort_list_x(slots_list,
- SCM_VARIABLE_REF (scm_c_module_lookup (
- scm_current_module (), "<")));
- return (slots_list);
-}
-
/*
This function returns certain calling flags to the calling guile prog.
diff --git a/gnetlist/src/g_register.c b/gnetlist/src/g_register.c
index a1bf749..fbadcda 100644
--- a/gnetlist/src/g_register.c
+++ b/gnetlist/src/g_register.c
@@ -88,8 +88,6 @@ static struct gsubr_t gnetlist_funcs[] = {
{ "gnetlist:get-attribute-by-pinseq", 3, 0, 0, g_get_attribute_by_pinseq },
{ "gnetlist:get-attribute-by-pinnumber", 3, 0, 0, g_get_attribute_by_pinnumber },
{ "gnetlist:vams-get-package-attributes", 1, 0, 0, vams_get_package_attributes },
- { "gnetlist:get-slots", 1, 0, 0, g_get_slots },
- { "gnetlist:get-unique-slots", 1, 0, 0, g_get_unique_slots },
{ "gnetlist:graphical-objs-in-net-with-attrib-get-attrib",
3, 0, 0, g_graphical_objs_in_net_with_attrib_get_attrib },
commit 2a9e92fa59aafcd18286ebf0816fb54bafaac386
Author: Patrick Bernaud <patrickb@xxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>
gschem: Do not attempt to set GtkWindow's type after construction.
Reviewed-by: Peter TB Brett <peter@xxxxxxxxxxxxx>
diff --git a/gschem/src/x_multiattrib.c b/gschem/src/x_multiattrib.c
index 3b611de..ae417b2 100644
--- a/gschem/src/x_multiattrib.c
+++ b/gschem/src/x_multiattrib.c
@@ -1704,7 +1704,6 @@ static void multiattrib_init(Multiattrib *multiattrib)
/* GtkContainer */
"border-width", 0,
/* GtkWindow */
- "type", GTK_WINDOW_TOPLEVEL,
"title", _("Edit Attributes"),
"default-width", 320,
"default-height", 350,
diff --git a/gschem/src/x_pagesel.c b/gschem/src/x_pagesel.c
index 43331bd..af1a3ed 100644
--- a/gschem/src/x_pagesel.c
+++ b/gschem/src/x_pagesel.c
@@ -372,7 +372,6 @@ static void pagesel_init (Pagesel *pagesel)
/* GtkContainer */
"border-width", 0,
/* GtkWindow */
- "type", GTK_WINDOW_TOPLEVEL,
"title", _("Page Manager"),
"default-height", 180,
"default-width", 515,
commit a0f88128241e9b8e5138ccf7bcc862b4f9ff638f
Author: Peter TB Brett <peter@xxxxxxxxxxxxx>
Commit: Peter TB Brett <peter@xxxxxxxxxxxxx>
gnetlist: Convert protelII test golden files to DOS line endings.
Convert golden files that were missed in commit 007feece464d.
diff --git a/gnetlist/tests/powersupply.protelII b/gnetlist/tests/powersupply.protelII
index a376138..bed07f3 100644
--- a/gnetlist/tests/powersupply.protelII
+++ b/gnetlist/tests/powersupply.protelII
@@ -1,761 +1,761 @@
-PROTEL NETLIST 2.0
-[
-DESIGNATOR
-U2
-FOOTPRINT
-unknown
-PARTTYPE
-LM317
-DESCRIPTION
-LM317
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-C4
-FOOTPRINT
-unknown
-PARTTYPE
-1uf
-DESCRIPTION
-POLARIZED_CAPACITOR
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-C3
-FOOTPRINT
-unknown
-PARTTYPE
-22uF
-DESCRIPTION
-POLARIZED_CAPACITOR
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-R1
-FOOTPRINT
-unknown
-PARTTYPE
-5k
-DESCRIPTION
-VARIABLE_RESISTOR
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-C2
-FOOTPRINT
-unknown
-PARTTYPE
-0.1uF
-DESCRIPTION
-POLARIZED_CAPACITOR
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-R2
-FOOTPRINT
-unknown
-PARTTYPE
-220
-DESCRIPTION
-RESISTOR
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-C1
-FOOTPRINT
-unknown
-PARTTYPE
-2200uF
-DESCRIPTION
-POLARIZED_CAPACITOR
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-S1
-FOOTPRINT
-unknown
-PARTTYPE
-SPST
-DESCRIPTION
-SPST
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-CONN1
-FOOTPRINT
-unknown
-PARTTYPE
-MAINS_CONNECTOR
-DESCRIPTION
-MAINS_CONNECTOR
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-T1
-FOOTPRINT
-unknown
-PARTTYPE
-transformer
-DESCRIPTION
-transformer
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-F1
-FOOTPRINT
-unknown
-PARTTYPE
-FUSE
-DESCRIPTION
-FUSE
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-[
-DESIGNATOR
-U1
-FOOTPRINT
-unknown
-PARTTYPE
-DIODE-BRIDGE
-DESCRIPTION
-DIODE-BRIDGE
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-(
-ten
-U2-1 LM317-1 PASSIVE
-R1-2 VARIABLE_RESISTOR-2 PASSIVE
-C3-1 POLARIZED_CAPACITOR-1 PASSIVE
-R2-1 RESISTOR-1 PASSIVE
-)
-(
-eleven
-U2-2 LM317-2 PASSIVE
-C4-1 POLARIZED_CAPACITOR-1 PASSIVE
-R2-2 RESISTOR-2 PASSIVE
-)
-(
-GND
-CONN1-3 MAINS_CONNECTOR-3 PASSIVE
-)
-(
-one
-S1-1 SPST-1 PASSIVE
-CONN1-1 MAINS_CONNECTOR-1 PASSIVE
-)
-(
-five
-CONN1-2 MAINS_CONNECTOR-2 PASSIVE
-T1-2 transformer-2 PASSIVE
-)
-(
-three
-T1-1 transformer-1 PASSIVE
-F1-2 FUSE-2 PASSIVE
-)
-(
-two
-S1-2 SPST-2 PASSIVE
-F1-1 FUSE-1 PASSIVE
-)
-(
-six
-T1-3 transformer-3 PASSIVE
-U1-4 DIODE-BRIDGE-4 PASSIVE
-)
-(
-seven
-T1-4 transformer-4 PASSIVE
-U1-3 DIODE-BRIDGE-3 PASSIVE
-)
-(
-nine
-C4-2 POLARIZED_CAPACITOR-2 PASSIVE
-C3-2 POLARIZED_CAPACITOR-2 PASSIVE
-R1-3 VARIABLE_RESISTOR-3 PASSIVE
-R1-1 VARIABLE_RESISTOR-1 PASSIVE
-C2-2 POLARIZED_CAPACITOR-2 PASSIVE
-C1-2 POLARIZED_CAPACITOR-2 PASSIVE
-U1-2 DIODE-BRIDGE-2 PASSIVE
-)
-(
-eight
-U2-3 LM317-3 PASSIVE
-C2-1 POLARIZED_CAPACITOR-1 PASSIVE
-C1-1 POLARIZED_CAPACITOR-1 PASSIVE
-U1-1 DIODE-BRIDGE-1 PASSIVE
-)
+PROTEL NETLIST 2.0
+[
+DESIGNATOR
+U2
+FOOTPRINT
+unknown
+PARTTYPE
+LM317
+DESCRIPTION
+LM317
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+C4
+FOOTPRINT
+unknown
+PARTTYPE
+1uf
+DESCRIPTION
+POLARIZED_CAPACITOR
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+C3
+FOOTPRINT
+unknown
+PARTTYPE
+22uF
+DESCRIPTION
+POLARIZED_CAPACITOR
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+R1
+FOOTPRINT
+unknown
+PARTTYPE
+5k
+DESCRIPTION
+VARIABLE_RESISTOR
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+C2
+FOOTPRINT
+unknown
+PARTTYPE
+0.1uF
+DESCRIPTION
+POLARIZED_CAPACITOR
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+R2
+FOOTPRINT
+unknown
+PARTTYPE
+220
+DESCRIPTION
+RESISTOR
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+C1
+FOOTPRINT
+unknown
+PARTTYPE
+2200uF
+DESCRIPTION
+POLARIZED_CAPACITOR
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+S1
+FOOTPRINT
+unknown
+PARTTYPE
+SPST
+DESCRIPTION
+SPST
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+CONN1
+FOOTPRINT
+unknown
+PARTTYPE
+MAINS_CONNECTOR
+DESCRIPTION
+MAINS_CONNECTOR
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+T1
+FOOTPRINT
+unknown
+PARTTYPE
+transformer
+DESCRIPTION
+transformer
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+F1
+FOOTPRINT
+unknown
+PARTTYPE
+FUSE
+DESCRIPTION
+FUSE
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+[
+DESIGNATOR
+U1
+FOOTPRINT
+unknown
+PARTTYPE
+DIODE-BRIDGE
+DESCRIPTION
+DIODE-BRIDGE
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+(
+ten
+U2-1 LM317-1 PASSIVE
+R1-2 VARIABLE_RESISTOR-2 PASSIVE
+C3-1 POLARIZED_CAPACITOR-1 PASSIVE
+R2-1 RESISTOR-1 PASSIVE
+)
+(
+eleven
+U2-2 LM317-2 PASSIVE
+C4-1 POLARIZED_CAPACITOR-1 PASSIVE
+R2-2 RESISTOR-2 PASSIVE
+)
+(
+GND
+CONN1-3 MAINS_CONNECTOR-3 PASSIVE
+)
+(
+one
+S1-1 SPST-1 PASSIVE
+CONN1-1 MAINS_CONNECTOR-1 PASSIVE
+)
+(
+five
+CONN1-2 MAINS_CONNECTOR-2 PASSIVE
+T1-2 transformer-2 PASSIVE
+)
+(
+three
+T1-1 transformer-1 PASSIVE
+F1-2 FUSE-2 PASSIVE
+)
+(
+two
+S1-2 SPST-2 PASSIVE
+F1-1 FUSE-1 PASSIVE
+)
+(
+six
+T1-3 transformer-3 PASSIVE
+U1-4 DIODE-BRIDGE-4 PASSIVE
+)
+(
+seven
+T1-4 transformer-4 PASSIVE
+U1-3 DIODE-BRIDGE-3 PASSIVE
+)
+(
+nine
+C4-2 POLARIZED_CAPACITOR-2 PASSIVE
+C3-2 POLARIZED_CAPACITOR-2 PASSIVE
+R1-3 VARIABLE_RESISTOR-3 PASSIVE
+R1-1 VARIABLE_RESISTOR-1 PASSIVE
+C2-2 POLARIZED_CAPACITOR-2 PASSIVE
+C1-2 POLARIZED_CAPACITOR-2 PASSIVE
+U1-2 DIODE-BRIDGE-2 PASSIVE
+)
+(
+eight
+U2-3 LM317-3 PASSIVE
+C2-1 POLARIZED_CAPACITOR-1 PASSIVE
+C1-1 POLARIZED_CAPACITOR-1 PASSIVE
+U1-1 DIODE-BRIDGE-1 PASSIVE
+)
diff --git a/gnetlist/tests/singlenet.protelII b/gnetlist/tests/singlenet.protelII
index 6b6a1a8..11f2524 100644
--- a/gnetlist/tests/singlenet.protelII
+++ b/gnetlist/tests/singlenet.protelII
@@ -1,81 +1,81 @@
-PROTEL NETLIST 2.0
-[
-DESIGNATOR
-U100
-FOOTPRINT
-DIP14
-PARTTYPE
-7400
-DESCRIPTION
-7400
-Part Field 1
-*
-Part Field 2
-*
-Part Field 3
-*
-Part Field 4
-*
-Part Field 5
-*
-Part Field 6
-*
-Part Field 7
-*
-Part Field 8
-*
-Part Field 9
-*
-Part Field 10
-*
-Part Field 11
-*
-Part Field 12
-*
-Part Field 13
-*
-Part Field 14
-*
-Part Field 15
-*
-Part Field 16
-*
-LIBRARYFIELD1
-
-LIBRARYFIELD2
-
-LIBRARYFIELD3
-
-LIBRARYFIELD4
-
-LIBRARYFIELD5
-
-LIBRARYFIELD6
-
-LIBRARYFIELD7
-
-LIBRARYFIELD8
-
-]
-(
-SINGLE_NET2
-U100-1 7400-1 PASSIVE
-U100-3 7400-3 PASSIVE
-)
-(
-GND
-U100-7 7400-7 PASSIVE
-)
-(
-Vcc
-U100-14 7400-14 PASSIVE
-)
-(
-SINGLE_NET
-U100-4 7400-4 PASSIVE
-U100-5 7400-5 PASSIVE
-U100-10 7400-10 PASSIVE
-U100-8 7400-8 PASSIVE
-U100-9 7400-9 PASSIVE
-U100-6 7400-6 PASSIVE
-)
+PROTEL NETLIST 2.0
+[
+DESIGNATOR
+U100
+FOOTPRINT
+DIP14
+PARTTYPE
+7400
+DESCRIPTION
+7400
+Part Field 1
+*
+Part Field 2
+*
+Part Field 3
+*
+Part Field 4
+*
+Part Field 5
+*
+Part Field 6
+*
+Part Field 7
+*
+Part Field 8
+*
+Part Field 9
+*
+Part Field 10
+*
+Part Field 11
+*
+Part Field 12
+*
+Part Field 13
+*
+Part Field 14
+*
+Part Field 15
+*
+Part Field 16
+*
+LIBRARYFIELD1
+
+LIBRARYFIELD2
+
+LIBRARYFIELD3
+
+LIBRARYFIELD4
+
+LIBRARYFIELD5
+
+LIBRARYFIELD6
+
+LIBRARYFIELD7
+
+LIBRARYFIELD8
+
+]
+(
+SINGLE_NET2
+U100-1 7400-1 PASSIVE
+U100-3 7400-3 PASSIVE
+)
+(
+GND
+U100-7 7400-7 PASSIVE
+)
+(
+Vcc
+U100-14 7400-14 PASSIVE
+)
+(
+SINGLE_NET
+U100-4 7400-4 PASSIVE
+U100-5 7400-5 PASSIVE
+U100-10 7400-10 PASSIVE
+U100-8 7400-8 PASSIVE
+U100-9 7400-9 PASSIVE
+U100-6 7400-6 PASSIVE
+)
_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs