summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCharles Edward Pax <charles.pax@gmail.com>2017-07-29 05:25:39 -0400
committerCharles Edward Pax <charles.pax@gmail.com>2017-07-29 05:25:39 -0400
commit3d9034c47495f108969c5b2cb40ee1f96666b874 (patch)
treeccaeb4e7014a11e528daa24dc2bff0a737ef7c0e /src
parentaff99ffb18e9235ae5738a4d1ac3293ace49842a (diff)
Doxygen comments.
Diffstat (limited to 'src')
-rw-r--r--src/maps.c131
-rw-r--r--src/marks.c94
2 files changed, 214 insertions, 11 deletions
diff --git a/src/maps.c b/src/maps.c
index ec95e3e..d3778ec 100644
--- a/src/maps.c
+++ b/src/maps.c
@@ -1,3 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2013-2017, Andrés Martinelli <andmarti@gmail.com *
+ * All rights reserved. *
+ * *
+ * This file is a part of SC-IM *
+ * *
+ * SC-IM is a spreadsheet program that is based on SC. The original authors *
+ * of SC are James Gosling and Mark Weiser, and mods were later added by *
+ * Chuck Martin. *
+ * *
+ * Redistribution and use in source and binary forms, with or without *
+ * modification, are permitted provided that the following conditions are met: *
+ * 1. Redistributions of source code must retain the above copyright *
+ * notice, this list of conditions and the following disclaimer. *
+ * 2. Redistributions in binary form must reproduce the above copyright *
+ * notice, this list of conditions and the following disclaimer in the *
+ * documentation and/or other materials provided with the distribution. *
+ * 3. All advertising materials mentioning features or use of this software *
+ * must display the following acknowledgement: *
+ * This product includes software developed by Andrés Martinelli *
+ * <andmarti@gmail.com>. *
+ * 4. Neither the name of the Andrés Martinelli nor the *
+ * names of other contributors may be used to endorse or promote products *
+ * derived from this software without specific prior written permission. *
+ * *
+ * THIS SOFTWARE IS PROVIDED BY ANDRES MARTINELLI ''AS IS'' AND ANY *
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
+ * DISCLAIMED. IN NO EVENT SHALL ANDRES MARTINELLI BE LIABLE FOR ANY *
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;*
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+ *******************************************************************************/
+
+/**
+ * \file maps.c
+ * \author Andrés Martinelli <andmarti@gmail.com>
+ * \date 2017-07-18
+ * \brief TODO Write a tbrief file description.
+ */
+
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
@@ -14,6 +58,14 @@ static map * maps;
static int mapdepth = 0;
int len_maps = 0;
+/**
+ * \brief TODO Document replace_maps()
+ *
+ * \param[in] b
+ *
+ * \return r
+ */
+
int replace_maps (struct block * b) {
int r = 0;
@@ -46,7 +98,14 @@ int replace_maps (struct block * b) {
return r;
}
-// create list of blocks based on map strings
+/**
+ * \brief Create list of blocks based on map strings
+ *
+ * \param[in] str
+ *
+ * \return buffer
+ */
+
struct block * get_mapbuf_str (char * str) {
struct block * buffer = create_buf();
unsigned short l = strlen(str);
@@ -111,7 +170,12 @@ struct block * get_mapbuf_str (char * str) {
return buffer;
}
-// Remove mappings and free corresponding memory
+/**
+ * \brief Remove mappings and free corresponding memory
+ *
+ * \return none
+ */
+
void del_maps () {
map * m = maps;
map * e = m;
@@ -125,7 +189,12 @@ void del_maps () {
return;
}
-// Returns the las mapping of the current session
+/**
+ * \brief Removes the last mapping of the current session
+ *
+ * \return none
+ */
+
map * get_last_map() {
map * m = maps;
map * e = m;
@@ -137,8 +206,15 @@ map * get_last_map() {
return e;
}
-// Returns the position of a mapping for some mode if it already exists, -1
-// otherwise
+/**
+ * \brief Returns the position of a mapping for some mode if it already exists, -1 otherwise
+ *
+ * \param[in] in
+ * \param[in] mode
+ *
+ * \return position of a mapping for some mode if it already exists; -1 otherwise
+ */
+
int exists_map(char * in, int mode) {
map * m = maps;
char str_in[MAXMAPITEM] = "";
@@ -154,7 +230,18 @@ int exists_map(char * in, int mode) {
}
return -1;
}
-// Append a mapping to the current session
+
+/**
+ * \brief Ammend a mapping to the curren session
+ *
+ * \param[in] in
+ * \param[in] out
+ * \param[in] mode
+ * \param[in] recursive
+ *
+ * \return none
+ */
+
void add_map(char * in, char * out, int mode, short recursive) {
map * m;
@@ -193,7 +280,15 @@ void add_map(char * in, char * out, int mode, short recursive) {
return;
}
-// Remove a mapping from a specific MODE
+/**
+ * \brief Remove a mapping from a specific MODE
+ *
+ * \param[in] in
+ * \param[in] mode
+ *
+ * \return none
+ */
+
void del_map(char * in, int mode) {
map * ant;
map * m = maps;
@@ -233,10 +328,18 @@ void del_map(char * in, int mode) {
return;
}
-/*
- * Translate a block into a string
- * special characters are in the <CR> form
+/**
+ * \brief Translate a block into a string
+ *
+ * \details Translate a block in to a string. Special characters
+ * are in the <CR> form.
+ *
+ * \param[in] b
+ * \param[in] str
+ *
+ * \return none
*/
+
void get_mapstr_buf (struct block * b, char * str) {
struct block * a = b;
int i, len = get_bufsize(a);
@@ -278,6 +381,14 @@ void get_mapstr_buf (struct block * b, char * str) {
}
// Save mapping's details in a char*
+/**
+ * \brief Save mapping's details in a char*
+ *
+ * \param[in] salida
+ *
+ * \return none
+ */
+
void get_mappings(char * salida) {
salida[0]='\0';
if (maps == NULL) return;
diff --git a/src/marks.c b/src/marks.c
index e3c2063..075ebdf 100644
--- a/src/marks.c
+++ b/src/marks.c
@@ -1,3 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2013-2017, Andrés Martinelli <andmarti@gmail.com *
+ * All rights reserved. *
+ * *
+ * This file is a part of SC-IM *
+ * *
+ * SC-IM is a spreadsheet program that is based on SC. The original authors *
+ * of SC are James Gosling and Mark Weiser, and mods were later added by *
+ * Chuck Martin. *
+ * *
+ * Redistribution and use in source and binary forms, with or without *
+ * modification, are permitted provided that the following conditions are met: *
+ * 1. Redistributions of source code must retain the above copyright *
+ * notice, this list of conditions and the following disclaimer. *
+ * 2. Redistributions in binary form must reproduce the above copyright *
+ * notice, this list of conditions and the following disclaimer in the *
+ * documentation and/or other materials provided with the distribution. *
+ * 3. All advertising materials mentioning features or use of this software *
+ * must display the following acknowledgement: *
+ * This product includes software developed by Andrés Martinelli *
+ * <andmarti@gmail.com>. *
+ * 4. Neither the name of the Andrés Martinelli nor the *
+ * names of other contributors may be used to endorse or promote products *
+ * derived from this software without specific prior written permission. *
+ * *
+ * THIS SOFTWARE IS PROVIDED BY ANDRES MARTINELLI ''AS IS'' AND ANY *
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
+ * DISCLAIMED. IN NO EVENT SHALL ANDRES MARTINELLI BE LIABLE FOR ANY *
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;*
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+ *******************************************************************************/
+
+/**
+ * \file marks.c
+ * \author Andrés Martinelli <andmarti@gmail.com>
+ * \date 2017-07-18
+ * \brief TODO Write a tbrief file description.
+ */
+
#include <stdlib.h>
#include "marks.h"
#include "macros.h"
@@ -7,21 +51,50 @@ static struct mark * marks;
// 'a' - 'z' = 26
// '0' - '1' = 10
+/**
+ * \brief TODO Document create_mark_array()
+ *
+ * \return none
+ */
+
void create_mark_array() {
marks = (struct mark *) calloc(NUM_MARKS, sizeof(struct mark) );
return;
}
+/**
+ * \brief TODO Document free_marks_array()
+ *
+ * \return none
+ */
+
void free_marks_array() {
free(marks);
return;
}
-// 'a' = 97
+/**
+ * \brief TODO Document get_mark()
+ *
+ * \details 'a' = 97
+ * \param[in] c
+ *
+ * \return none
+ */
+
struct mark * get_mark(char c) {
return (marks + c);
}
+/**
+ * \brief TODO Document set_range_mark()
+ *
+ * \param[in] c
+ * \param[in] s
+ *
+ * \return none
+ */
+
void set_range_mark(char c, struct srange * s) {
// Delete marked ranges when recording a new one with same char
del_ranges_by_mark(c);
@@ -32,6 +105,12 @@ void set_range_mark(char c, struct srange * s) {
return;
}
+/**
+ * \brief TODO Document set_cell_mark()
+ *
+ * \return none
+ */
+
void set_cell_mark(char c, int row, int col) {
// Delete marked ranges when recording a new one with same char
del_ranges_by_mark(c);
@@ -42,6 +121,19 @@ void set_cell_mark(char c, int row, int col) {
return;
}
+/**
+ * \brief TODO Document fix_marks()
+ *
+ * \param[in] deltar
+ * \param[in] deltac
+ * \param[in] row_desde
+ * \param[in] row_hasta
+ * \param[in] coldesde
+ * \param[in] col_hasta
+ *
+ * \return none
+ */
+
void fix_marks(int deltar, int deltac, int row_desde, int row_hasta, int col_desde, int col_hasta) {
int i;
for (i = 0; i < NUM_MARKS-1; i++) {