diff options
| author | Lars Hjemli <hjemli@gmail.com> | 2007-05-18 00:50:46 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2007-05-18 22:51:01 +0200 | 
| commit | 43d40f2b704151d145a1383b2b964210915ecae4 (patch) | |
| tree | 2ce8d71a143aef998f6f97291b5792367db82b8a | |
| parent | 305414df1246531baf0f2c959c2c61df4e93c526 (diff) | |
| download | cgit-43d40f2b704151d145a1383b2b964210915ecae4.tar.gz cgit-43d40f2b704151d145a1383b2b964210915ecae4.tar.bz2 | |
Add lookup-function for valid repo commands
This will be usefull when parsing url arguments.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| -rw-r--r-- | cgit.h | 12 | ||||
| -rw-r--r-- | shared.c | 12 | 
2 files changed, 24 insertions, 0 deletions
| @@ -18,6 +18,17 @@  #include <xdiff/xdiff.h> +/* + * The valid cgit repo-commands + */ +#define CMD_LOG      = 1; +#define CMD_COMMIT   = 1; +#define CMD_DIFF     = 1; +#define CMD_TREE     = 1; +#define CMD_VIEW     = 1; +#define CMD_BLOB     = 1; +#define CMD_SNAPSHOT = 1; +  typedef void (*configfn)(const char *name, const char *value);  typedef void (*filepair_fn)(struct diff_filepair *pair);  typedef void (*linediff_fn)(char *line, int len); @@ -112,6 +123,7 @@ extern int   cgit_query_ofs;  extern int htmlfd; +extern int cgit_get_cmd_index(const char *cmd);  extern struct repoinfo *cgit_get_repoinfo(const char *url);  extern void cgit_global_config_cb(const char *name, const char *value);  extern void cgit_repo_config_cb(const char *name, const char *value); @@ -51,6 +51,18 @@ int   cgit_query_ofs    = 0;  int htmlfd = 0; + +int cgit_get_cmd_index(const char *cmd) +{ +	static char *cmds[] = {"log", "commit", "diff", "tree", "view", "blob", "snapshot", NULL}; +	int i; + +	for(i = 0; cmds[i]; i++) +		if (!strcmp(cmd, cmds[i])) +			return i + 1; +	return 0; +} +  int chk_zero(int result, char *msg)  {  	if (result != 0) | 
