[libvirt-php][PATCH 5/7] generate-api-docs.c: :retab

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Let's not use tabs but spaces instead. This way the formatting
will be consistent no matter how big tab skips are.
Moreover, at the same time, reformat the code a bit to be more
readable.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 tools/generate-api-docs.c | 449 +++++++++++++++++++++++-----------------------
 1 file changed, 224 insertions(+), 225 deletions(-)

diff --git a/tools/generate-api-docs.c b/tools/generate-api-docs.c
index 1d9737e..d6e144c 100644
--- a/tools/generate-api-docs.c
+++ b/tools/generate-api-docs.c
@@ -3,307 +3,306 @@
 #include <stdlib.h>
 #include <stdarg.h>
 #include <string.h>
+#include <stdbool.h>
 
 typedef struct func_t {
-	char *name;
-	int private;
-	char *desc;
-	char *version;
-	int num_args;
-	char **args;
-	char *returns;
+    char *name;
+    int private;
+    char *desc;
+    char *version;
+    int num_args;
+    char **args;
+    char *returns;
 } func_t;
 
 func_t *functions = NULL;
 
 void bail_error(const char *fmt, ...)
 {
-	va_list ap;
-	char tmp[64] = { 0 };
+    va_list ap;
+    char tmp[64] = { 0 };
 
-	va_start(ap, fmt);
-	vsnprintf(tmp, sizeof(tmp), fmt, ap);
-	va_end(ap);
+    va_start(ap, fmt);
+    vsnprintf(tmp, sizeof(tmp), fmt, ap);
+    va_end(ap);
 
-	fprintf(stderr, "Error: %s\n", tmp);
-	exit(1);
+    fprintf(stderr, "Error: %s\n", tmp);
+    exit(1);
 }
 
 char *ltrim_string(char *str)
 {
-	while (*str++ == ' ') ;
-	if (*str == '\t')
-		while (*str++ == '\t')
-			if (*str != '\t') break;
-	return str;
+    while (*str++ == ' ') ;
+    if (*str == '\t')
+        while (*str++ == '\t')
+            if (*str != '\t') break;
+    return str;
 }
 
 void parse_comment(char *line, int func_num, int *arg_num)
 {
-	char *ltrimmed = ltrim_string(line);
+    char *ltrimmed = ltrim_string(line);
 
-	if (strncmp(ltrimmed, "Function name:", 14) == 0) {
-		functions[func_num].name = strdup( ltrim_string( ltrimmed + 14) );
-		functions[func_num].private = 0;
-	}
-	else
-	if (strncmp(ltrimmed, "Private function name:", 22) == 0) {
-		functions[func_num].name = strdup( ltrim_string( ltrimmed + 22) );
-		functions[func_num].private = 1;
-	}
-	else
-	if (strncmp(ltrimmed, "Since version:", 14) == 0) {
-		functions[func_num].version = strdup( ltrim_string( ltrimmed + 14) );
-	}
-	else
-	if (strncmp(ltrimmed, "Description:", 12) == 0) {
-		functions[func_num].desc = strdup( ltrim_string( ltrimmed + 12) );
-	}
-	else
-	if (strncmp(ltrimmed, "Arguments:", 10) == 0) {
-		char *str = ltrim_string(ltrimmed + 11);
-		if (arg_num == NULL)
-			return;
+    if (strncmp(ltrimmed, "Function name:", 14) == 0) {
+        functions[func_num].name = strdup( ltrim_string( ltrimmed + 14) );
+        functions[func_num].private = 0;
+    }
+    else if (strncmp(ltrimmed, "Private function name:", 22) == 0) {
+        functions[func_num].name = strdup( ltrim_string( ltrimmed + 22) );
+        functions[func_num].private = 1;
+    }
+    else if (strncmp(ltrimmed, "Since version:", 14) == 0) {
+        functions[func_num].version = strdup( ltrim_string( ltrimmed + 14) );
+    }
+    else if (strncmp(ltrimmed, "Description:", 12) == 0) {
+        functions[func_num].desc = strdup( ltrim_string( ltrimmed + 12) );
+    }
+    else if (strncmp(ltrimmed, "Arguments:", 10) == 0) {
+        char *str = ltrim_string(ltrimmed + 11);
+        if (arg_num == NULL)
+            return;
 
-		functions[func_num].num_args = 1;
-		functions[func_num].args = malloc( sizeof(char *) );
-		functions[func_num].args[0] = malloc( (strlen(str) + 1) * sizeof(char) );
-		strcpy(functions[func_num].args[0], str);
+        functions[func_num].num_args = 1;
+        functions[func_num].args = malloc( sizeof(char *) );
+        functions[func_num].args[0] = malloc( (strlen(str) + 1) * sizeof(char) );
+        strcpy(functions[func_num].args[0], str);
 
-		*arg_num = 1;
-	}
-	else
-	if (strncmp(ltrimmed, "Returns:", 8) == 0) {
-		char *str = ltrim_string(ltrimmed + 7);
+        *arg_num = 1;
+    }
+    else if (strncmp(ltrimmed, "Returns:", 8) == 0) {
+        char *str = ltrim_string(ltrimmed + 7);
 
-		functions[func_num].returns = malloc( (strlen(str) + 1) * sizeof(char));
-		strcpy(functions[func_num].returns, str);
-	}
-	else
-	if ((arg_num != NULL) && (*arg_num > 0)) {
-		functions[func_num].num_args++;
-		functions[func_num].args = realloc( functions[func_num].args,
-					functions[func_num].num_args * sizeof(char *));
-		functions[func_num].args[functions[func_num].num_args-1] = malloc(
-					(strlen(ltrimmed) + 1) * sizeof(char) );
-		strcpy(functions[func_num].args[functions[func_num].num_args-1], ltrimmed);
+        functions[func_num].returns = malloc( (strlen(str) + 1) * sizeof(char));
+        strcpy(functions[func_num].returns, str);
+    }
+    else if ((arg_num != NULL) && (*arg_num > 0)) {
+        functions[func_num].num_args++;
+        functions[func_num].args = realloc( functions[func_num].args,
+                                            functions[func_num].num_args * sizeof(char *));
+        functions[func_num].args[functions[func_num].num_args-1] = malloc((strlen(ltrimmed) + 1) * sizeof(char) );
+        strcpy(functions[func_num].args[functions[func_num].num_args-1], ltrimmed);
 
-		*arg_num = *arg_num + 1;
-	}
+        *arg_num = *arg_num + 1;
+    }
 }
 
 char *get_lpart(char *str)
 {
-	if (!str || strcmp(str, "None") == 0)
-		return str;
-	char *new = strdup(str);
-	char *tmp = strchr(str, ':');
-	if (!tmp)
-		return str;
+    if (!str || strcmp(str, "None") == 0)
+        return str;
+    char *new = strdup(str);
+    char *tmp = strchr(str, ':');
+    if (!tmp)
+        return str;
 
-	new[ strlen(new) - strlen(tmp) ] = 0;
+    new[ strlen(new) - strlen(tmp) ] = 0;
 
-	return new;
+    return new;
 }
 
 char *get_rpart(char *str)
 {
-	if (!str || strcmp(str, "None") == 0)
-		return str;
-	char *tmp = strchr(str, ':');
+    if (!str || strcmp(str, "None") == 0)
+        return str;
+    char *tmp = strchr(str, ':');
 
-	if (!tmp)
-		return str;
+    if (!tmp)
+        return str;
 
-	return (++tmp);
+    return (++tmp);
 }
 
 void free_functions(int function_number)
 {
-	int i, j;
+    int i, j;
 
-	for (i = 0; i <= function_number; i++) {
-		for (j = 0; j < functions[i].num_args; j++)
-			free(functions[i].args[j]);
-		free(functions[i].name);
-		free(functions[i].desc);
-		free(functions[i].returns);
-	}
-	free(functions);
+    for (i = 0; i <= function_number; i++) {
+        for (j = 0; j < functions[i].num_args; j++)
+            free(functions[i].args[j]);
+        free(functions[i].name);
+        free(functions[i].desc);
+        free(functions[i].returns);
+    }
+    free(functions);
 }
 
 int count_functions(int num_funcs, int private)
 {
-	int i, num = 0;
+    int i, num = 0;
 
-	for (i = 0; i < num_funcs; i++)
-		if ((functions[i].name != NULL) && (functions[i].private == private))
-			num++;
+    for (i = 0; i < num_funcs; i++)
+        if ((functions[i].name != NULL) && (functions[i].private == private))
+            num++;
 
-	return num;
+    return num;
 }
 
 int main(int argc, char *argv[])
 {
-	char	line[1024]	= { 0 };
-	short	in_comment	= 0;
-	int	function_number	= -1;
-	int	arg_number	= 0;
-	int	private		= 0;
-	int	idx		= 1;
-	FILE	*fp;
+    char line[1024] = { 0 };
+    bool in_comment = false;
+    int function_number = -1;
+    int arg_number = 0;
+    int private = 0;
+    int idx = 1;
+    int i, j;
+    FILE *fp;
 
-	if (argc < 3) {
-		fprintf(stderr, "Syntax: %s [-p|--private] source-file output-in-file\n", argv[0]);
-		return 1;
-	}
+    if (argc < 3) {
+        fprintf(stderr, "Syntax: %s [-p|--private] source-file output-in-file\n", argv[0]);
+        return 1;
+    }
 
-	if ((strcmp(argv[1], "-p") == 0) || (strcmp(argv[1], "--private") == 0)) {
-		if (argc < 4) {
-			fprintf(stderr, "Syntax: %s [-p|--private] source-file output-in-file\n", argv[0]);
-			return 1;
-		}
+    if ((strcmp(argv[1], "-p") == 0) || (strcmp(argv[1], "--private") == 0)) {
+        if (argc < 4) {
+            fprintf(stderr, "Syntax: %s [-p|--private] source-file output-in-file\n", argv[0]);
+            return 1;
+        }
 
-		private = 1;
-		idx++;
-	}
+        private = 1;
+        idx++;
+    }
 
-	if (access(argv[idx], R_OK) != 0)
-		bail_error("Cannot open file %s", argv[1]);
+    if (access(argv[idx], R_OK) != 0)
+        bail_error("Cannot open file %s", argv[1]);
 
-	fp = fopen(argv[idx], "r");
-	if (fp == NULL)
-		bail_error("Error while opening %s", argv[1]);
+    if (!(functions = (func_t *)malloc(sizeof(func_t))))
+        bail_error("Out of memory");
 
-	functions = (func_t *)malloc( sizeof(func_t) );
-	while (!feof(fp)) {
-		fgets(line, sizeof(line), fp);
+    if (!(fp = fopen(argv[idx], "r")))
+        bail_error("Error while opening %s", argv[1]);
 
-		/* Strip new line characters */
-		if (line[strlen(line) - 1] == '\n')
-			line[strlen(line) - 1] = 0;
+    while (true) {
+        memset(line, 0, sizeof(line));
 
-		if (strcmp(line, "/*") == 0) {
-			function_number++;
-			in_comment = 1;
-			functions = (func_t *) realloc( functions, sizeof(func_t) * (function_number + 1) );
-			functions[function_number].name = NULL;
-			functions[function_number].num_args = 0;
-		}
-		else
-		if (strcmp(line, "*/") == 0)
-			in_comment = 0;
-		else
-		if (in_comment)
-			parse_comment( line, function_number, &arg_number );
-		memset(line, 0, sizeof(line));
-	}
-	fclose(fp);
+        if (!fgets(line, sizeof(line), fp)) {
+            if (feof(fp))
+                break;
+            bail_error("Unable to read form %s", argv[1]);
+        }
 
-	int i, j;
-	fp = fopen(argv[idx+1], "w");
-	if (!fp) {
-		free_functions(function_number);
-		bail_error("Cannot write %s", argv[2]);
-	}
+        /* Strip new line characters */
+        if (line[strlen(line) - 1] == '\n')
+            line[strlen(line) - 1] = 0;
 
-	fprintf(fp, "<?xml version=\"1.0\"?>\n<html>\n  <body>\n");
+        if (strcmp(line, "/*") == 0) {
+            function_number++;
+            in_comment = 1;
+            if (!(functions = (func_t *) realloc(functions,
+                                                 sizeof(func_t) * (function_number + 1))))
+                bail_error("Out of memory");
+            functions[function_number].name = NULL;
+            functions[function_number].num_args = 0;
+        } else {
+            if (strcmp(line, " */") == 0)
+                in_comment = 0;
+            else if (in_comment)
+                parse_comment(line, function_number, &arg_number);
+        }
+    }
+    fclose(fp);
 
-	fprintf(fp,"<h1>%s API Reference guide</h1>\n\n    <h3>Functions</h3>\n\n    <!-- Links -->\n", (private == 0) ? "PHP" : "Developer's");
-	fprintf(fp, "<pre>Total number of functions: %d. Functions supported are:<br /><br />\n", count_functions(function_number, private));
-	for (i = 0; i <= function_number; i++) {
-		if ((functions[i].name != NULL) && (functions[i].private == private)) {
-			fprintf(fp, "\t<code class=\"docref\">%s</code>(", functions[i].name);
+    if (!(fp = fopen(argv[idx+1], "w"))) {
+        free_functions(function_number);
+        bail_error("Cannot write %s", argv[2]);
+    }
 
-			for (j = 0; j < functions[i].num_args; j++) {
-				if (strcmp(functions[i].args[j], "None") != 0) {
-					char *new = get_lpart(functions[i].args[j]);
-					char *part;
-					int decrement;
+    fprintf(fp, "<?xml version=\"1.0\"?>\n<html>\n  <body>\n");
 
-					if (new[0] == '@')
-						new++;
+    fprintf(fp,"<h1>%s API Reference guide</h1>\n\n    <h3>Functions</h3>\n\n    <!-- Links -->\n", (private == 0) ? "PHP" : "Developer's");
+    fprintf(fp, "<pre>Total number of functions: %d. Functions supported are:<br /><br />\n", count_functions(function_number, private));
+    for (i = 0; i <= function_number; i++) {
+        if ((functions[i].name != NULL) && (functions[i].private == private)) {
+            fprintf(fp, "\t<code class=\"docref\">%s</code>(", functions[i].name);
 
-					part = strchr(new, ' ');
-					decrement = (part != NULL) ? strlen( part ) : 0;
+            for (j = 0; j < functions[i].num_args; j++) {
+                if (strcmp(functions[i].args[j], "None") != 0) {
+                    char *new = get_lpart(functions[i].args[j]);
+                    char *part;
+                    int decrement;
 
-					if (j > 0)
-						fprintf(fp, ", ");
+                    if (new[0] == '@')
+                        new++;
 
-					new[ strlen(new) - decrement ] = 0;
-					fprintf(fp, "$%s", new);
-				}
-			}
+                    part = strchr(new, ' ');
+                    decrement = (part != NULL) ? strlen( part ) : 0;
 
-			fprintf(fp, ")<br />\n");
-		}
-	}
+                    if (j > 0)
+                        fprintf(fp, ", ");
 
-	fprintf(fp, "</pre>\n");
+                    new[ strlen(new) - decrement ] = 0;
+                    fprintf(fp, "$%s", new);
+                }
+            }
 
-	for (i = 0; i <= function_number; i++) {
-		if ((functions[i].name != NULL) && (functions[i].private == private)) {
-			fprintf(fp, "<h3><a name=\"%s\"><code>%s</code></a></h3>\n", functions[i].name, functions[i].name);
-			fprintf(fp, "<pre class=\"programlisting\">%s(", functions[i].name);
+            fprintf(fp, ")<br />\n");
+        }
+    }
 
-			for (j = 0; j < functions[i].num_args; j++) {
-				if (strcmp(functions[i].args[j], "None") != 0) {
-					char *new = get_lpart(functions[i].args[j]);
-					char *part;
-					int decrement;
+    fprintf(fp, "</pre>\n");
 
-					if (new[0] == '@')
-						new++;
+    for (i = 0; i <= function_number; i++) {
+        if ((functions[i].name != NULL) && (functions[i].private == private)) {
+            fprintf(fp, "<h3><a name=\"%s\"><code>%s</code></a></h3>\n", functions[i].name, functions[i].name);
+            fprintf(fp, "<pre class=\"programlisting\">%s(", functions[i].name);
 
-					part = strchr(new, ' ');
-					decrement = (part != NULL) ? strlen( part ) : 0;
+            for (j = 0; j < functions[i].num_args; j++) {
+                if (strcmp(functions[i].args[j], "None") != 0) {
+                    char *new = get_lpart(functions[i].args[j]);
+                    char *part;
+                    int decrement;
 
-					if (j > 0)
-						fprintf(fp, ", ");
+                    if (new[0] == '@')
+                        new++;
 
-					new[ strlen(new) - decrement ] = 0;
-					fprintf(fp, "$%s", new);
-				}
-			}
+                    part = strchr(new, ' ');
+                    decrement = (part != NULL) ? strlen( part ) : 0;
 
-			fprintf(fp, ")</pre>\n");
-			fprintf(fp, "<p>[Since version %s]</p>\n", functions[i].version);
-			fprintf(fp, "<p>%s.</p>", functions[i].desc);
-			fprintf(fp, "<div class=\"variablelist\">\n");
-			fprintf(fp, "\t<table border=\"0\">\n");
-			fprintf(fp, "\t\t<col align=\"left\" />\n");
-			fprintf(fp, "\t\t<tbody>\n");
+                    if (j > 0)
+                        fprintf(fp, ", ");
 
-			for (j = 0; j < functions[i].num_args; j++) {
-				if (strcmp(functions[i].args[j], "None") != 0) {
-					fprintf(fp, "\t\t  <tr>\n");
-					fprintf(fp, "\t\t    <td>\n");
-					fprintf(fp, "\t\t\t<span class=\"term\"><i><tt>%s</tt></i>:</span>\n", get_lpart(functions[i].args[j]) );
-					fprintf(fp, "\t\t    </td>\n");
-					fprintf(fp, "\t\t    <td>\n");
-					fprintf(fp, "\t\t\t%s\n", get_rpart(functions[i].args[j]));
-					fprintf(fp, "\t\t    </td>\n");
-					fprintf(fp, "\t\t  </tr>\n");
-				}
-			}
+                    new[ strlen(new) - decrement ] = 0;
+                    fprintf(fp, "$%s", new);
+                }
+            }
 
-        		fprintf(fp, "\t\t  <tr>\n");
-			fprintf(fp, "\t\t    <td>\n");
-        		fprintf(fp, "\t\t\t<span class=\"term\"><i><tt>Returns</tt></i>:</span>\n");
-			fprintf(fp, "\t\t    </td>\n");
-			fprintf(fp, "\t\t    <td>\n");
-			fprintf(fp, "\t\t\t%s\n", functions[i].returns);
-			fprintf(fp, "\t\t    </td>\n");
-			fprintf(fp, "\t\t  </tr>\n");
-			fprintf(fp, "\t\t</tbody>\n");
-			fprintf(fp, "\t</table>\n");
-			fprintf(fp, "</div>\n");
-		}
-	}
-	fclose(fp);
+            fprintf(fp, ")</pre>\n");
+            fprintf(fp, "<p>[Since version %s]</p>\n", functions[i].version);
+            fprintf(fp, "<p>%s.</p>", functions[i].desc);
+            fprintf(fp, "<div class=\"variablelist\">\n");
+            fprintf(fp, "\t<table border=\"0\">\n");
+            fprintf(fp, "\t\t<col align=\"left\" />\n");
+            fprintf(fp, "\t\t<tbody>\n");
 
-	free_functions(function_number);
-	printf("Documentation has been generated successfully\n");
-	return 0;
+            for (j = 0; j < functions[i].num_args; j++) {
+                if (strcmp(functions[i].args[j], "None") != 0) {
+                    fprintf(fp, "\t\t  <tr>\n");
+                    fprintf(fp, "\t\t    <td>\n");
+                    fprintf(fp, "\t\t\t<span class=\"term\"><i><tt>%s</tt></i>:</span>\n", get_lpart(functions[i].args[j]) );
+                    fprintf(fp, "\t\t    </td>\n");
+                    fprintf(fp, "\t\t    <td>\n");
+                    fprintf(fp, "\t\t\t%s\n", get_rpart(functions[i].args[j]));
+                    fprintf(fp, "\t\t    </td>\n");
+                    fprintf(fp, "\t\t  </tr>\n");
+                }
+            }
+
+            fprintf(fp, "\t\t  <tr>\n");
+            fprintf(fp, "\t\t    <td>\n");
+            fprintf(fp, "\t\t\t<span class=\"term\"><i><tt>Returns</tt></i>:</span>\n");
+            fprintf(fp, "\t\t    </td>\n");
+            fprintf(fp, "\t\t    <td>\n");
+            fprintf(fp, "\t\t\t%s\n", functions[i].returns);
+            fprintf(fp, "\t\t    </td>\n");
+            fprintf(fp, "\t\t  </tr>\n");
+            fprintf(fp, "\t\t</tbody>\n");
+            fprintf(fp, "\t</table>\n");
+            fprintf(fp, "</div>\n");
+        }
+    }
+    fclose(fp);
+
+    free_functions(function_number);
+    printf("Documentation has been generated successfully\n");
+    return 0;
 }
-
-- 
2.3.6

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]