diff ueda/mclutils/seqrefdes.c @ 81:6e43956e740d

beginning of BOM utils refactoring: seqrefdes code factored out
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 23 Feb 2017 19:15:48 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ueda/mclutils/seqrefdes.c	Thu Feb 23 19:15:48 2017 +0000
@@ -0,0 +1,40 @@
+/*
+ * Detection of sequential reference designators
+ * for the tallying of refdes lists in BOM outputs
+ */
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+static
+is_string_num(str)
+	char *str;
+{
+	if (*str < '1' || *str > '9')
+		return(0);
+	while (isdigit(*str))
+		str++;
+	if (*str)
+		return(0);
+	else
+		return(1);
+}
+
+is_refdes_sequential(str1, str2)
+	char *str1, *str2;
+{
+	int num1, num2;
+
+	while (isupper(*str1))
+		if (*str1++ != *str2++)
+			return(0);
+	if (!is_string_num(str1) || !is_string_num(str2))
+		return(0);
+	num1 = atoi(str1);
+	num2 = atoi(str2);
+	if (num2 == num1 + 1)
+		return(1);
+	else
+		return(0);
+}