[geany/geany] ca19e6: lregex: sync some function prototypes

Jiří Techet git-noreply at xxxxx
Mon Dec 17 21:05:55 UTC 2018


Branch:      refs/heads/master
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Wed, 12 Oct 2016 15:32:01 UTC
Commit:      ca19e6e3b3a6c65e5ab00c488ad9bf94343029c7
             https://github.com/geany/geany/commit/ca19e6e3b3a6c65e5ab00c488ad9bf94343029c7

Log Message:
-----------
lregex: sync some function prototypes


Modified Paths:
--------------
    ctags/main/lregex.c
    ctags/main/parse.c
    ctags/main/parse.h

Modified: ctags/main/lregex.c
43 lines changed, 30 insertions(+), 13 deletions(-)
===================================================================
@@ -137,7 +137,7 @@ static void clearPatternSet (const langType language)
 *   Regex pseudo-parser
 */
 
-static void makeRegexTag (
+static int makeRegexTag (
 		const vString* const name, const kindOption* const kind)
 {
 	Assert (kind != NULL);
@@ -146,8 +146,10 @@ static void makeRegexTag (
 		tagEntryInfo e;
 		Assert (name != NULL  &&  vStringLength (name) > 0);
 		initTagEntry (&e, vStringValue (name), kind);
-		makeTagEntry (&e);
+		return makeTagEntry (&e);
 	}
+	else
+		return CORK_NIL;
 }
 
 /*
@@ -325,7 +327,8 @@ static regexPattern* addCompiledTagCommon (const langType language,
 
 static regexPattern *addCompiledTagPattern (const langType language, GRegex* const pattern,
 					    const char* const name, char kind, const char* kindName,
-					    char *const description)
+					    char *const description, const char* flags,
+					    bool *disabled)
 {
 	regexPattern * ptrn;
 	bool exclusive = false;
@@ -360,7 +363,9 @@ static regexPattern *addCompiledTagPattern (const langType language, GRegex* con
 }
 
 static void addCompiledCallbackPattern (const langType language, GRegex* const pattern,
-					const regexCallback callback)
+					const regexCallback callback, const char* flags,
+					bool *disabled,
+					void *userData)
 {
 	regexPattern * ptrn;
 	bool exclusive = false;
@@ -531,7 +536,8 @@ static void matchCallbackPattern (
 		if (so != -1)
 			count = i + 1;
 	}
-	patbuf->u.callback.function (vStringValue (line), matches, count);
+	patbuf->u.callback.function (vStringValue (line), matches, count,
+				     patbuf->u.callback.userData);
 }
 
 static bool matchRegexPattern (const vString* const line,
@@ -588,7 +594,8 @@ static regexPattern *addTagRegexInternal (const langType language,
 					  const char* const regex,
 					  const char* const name,
 					  const char* const kinds,
-					  const char* const flags)
+					  const char* const flags,
+					  bool *disabled)
 {
 	regexPattern *rptr = NULL;
 	Assert (regex != NULL);
@@ -601,6 +608,7 @@ static regexPattern *addTagRegexInternal (const langType language,
 			char kind;
 			char* kindName;
 			char* description;
+
 			parseKinds (kinds, &kind, &kindName, &description);
 			if (kind == getLanguageFileKind (language)->letter)
 				error (FATAL,
@@ -610,7 +618,8 @@ static regexPattern *addTagRegexInternal (const langType language,
 				       getLanguageName (language));
 
 			rptr = addCompiledTagPattern (language, cp, name,
-						      kind, kindName, description);
+						      kind, kindName, description, flags,
+						      disabled);
 			if (kindName)
 				eFree (kindName);
 			if (description)
@@ -620,7 +629,10 @@ static regexPattern *addTagRegexInternal (const langType language,
 
 	if (*name == '\0')
 	{
-		error (WARNING, "%s: regexp missing name pattern", regex);
+		if (rptr->exclusive || rptr->scopeActions & SCOPE_PLACEHOLDER)
+			rptr->accept_empty_name = true;
+		else
+			error (WARNING, "%s: regexp missing name pattern", regex);
 	}
 
 	return rptr;
@@ -630,22 +642,26 @@ extern void addTagRegex (const langType language CTAGS_ATTR_UNUSED,
 			 const char* const regex CTAGS_ATTR_UNUSED,
 			 const char* const name CTAGS_ATTR_UNUSED,
 			 const char* const kinds CTAGS_ATTR_UNUSED,
-			 const char* const flags CTAGS_ATTR_UNUSED)
+			 const char* const flags CTAGS_ATTR_UNUSED,
+			 bool *disabled)
 {
-	addTagRegexInternal (language, regex, name, kinds, flags);
+	addTagRegexInternal (language, regex, name, kinds, flags, disabled);
 }
 
 extern void addCallbackRegex (const langType language CTAGS_ATTR_UNUSED,
 			      const char* const regex CTAGS_ATTR_UNUSED,
 			      const char* const flags CTAGS_ATTR_UNUSED,
-			      const regexCallback callback CTAGS_ATTR_UNUSED)
+			      const regexCallback callback CTAGS_ATTR_UNUSED,
+			      bool *disabled,
+			      void * userData)
 {
 	Assert (regex != NULL);
 	if (regexAvailable)
 	{
 		GRegex* const cp = compileRegex (regex, flags);
 		if (cp != NULL)
-			addCompiledCallbackPattern (language, cp, callback);
+			addCompiledCallbackPattern (language, cp, callback, flags,
+						    disabled, userData);
 	}
 }
 
@@ -658,7 +674,8 @@ extern void addLanguageRegex (
 		char *name, *kinds, *flags;
 		if (parseTagRegex (regex_pat, &name, &kinds, &flags))
 		{
-			addTagRegexInternal (language, regex_pat, name, kinds, flags);
+			addTagRegexInternal (language, regex_pat, name, kinds, flags,
+					     NULL);
 			eFree (regex_pat);
 		}
 	}


Modified: ctags/main/parse.c
3 lines changed, 2 insertions(+), 1 deletions(-)
===================================================================
@@ -437,7 +437,8 @@ static void installTagRegexTable (const langType language)
 				 lang->tagRegexTable [i].regex,
 				 lang->tagRegexTable [i].name,
 				 lang->tagRegexTable [i].kinds,
-				 lang->tagRegexTable [i].flags);
+				 lang->tagRegexTable [i].flags,
+				 (lang->tagRegexTable [i].disabled));
 	}
 }
 


Modified: ctags/main/parse.h
10 lines changed, 7 insertions(+), 3 deletions(-)
===================================================================
@@ -92,7 +92,8 @@ typedef struct {
 	size_t length;  /* length of match */
 } regexMatch;
 
-typedef void (*regexCallback) (const char *line, const regexMatch *matches, unsigned int count);
+typedef void (*regexCallback) (const char *line, const regexMatch *matches, unsigned int count,
+			       void *userData);
 
 typedef enum {
 	LMAP_PATTERN   = 1 << 0,
@@ -143,8 +144,11 @@ extern void findRegexTags (void);
 extern bool matchRegex (const vString* const line, const langType language);
 extern bool processRegexOption (const char *const option, const char *const parameter);
 extern void addLanguageRegex (const langType language, const char* const regex);
-extern void addTagRegex (const langType language, const char* const regex, const char* const name, const char* const kinds, const char* const flags);
-extern void addCallbackRegex (const langType language, const char* const regex, const char* flags, const regexCallback callback);
+extern void addTagRegex (const langType language, const char* const regex,
+			 const char* const name, const char* const kinds, const char* const flags,
+			 bool *disabled);
+extern void addCallbackRegex (const langType language, const char *const regexo, const char *const flags,
+			      const regexCallback callback, bool *disabled, void *userData);
 extern void freeRegexResources (void);
 extern bool checkRegex (void);
 



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list