Branch: refs/heads/master
Author: Jiří Techet <techet(a)gmail.com>
Committer: Jiří Techet <techet(a)gmail.com>
Date: Sat, 30 Jul 2016 11:49:53 UTC
Commit: cb1c15483bce9e5bad735113ca2b185cb7ff8924
https://github.com/geany/geany/commit/cb1c15483bce9e5bad735113ca2b185cb7ff8…
Log Message:
-----------
Eliminate some trivial diffs in read.c
Mostly indentation and comment stuff. We can replace the implementation
of readSourceLine() with readLineFromBypass() as it's never used in Geany.
Modified Paths:
--------------
ctags/main/read.c
Modified: ctags/main/read.c
64 lines changed, 30 insertions(+), 34 deletions(-)
===================================================================
@@ -1,27 +1,28 @@
/*
-*
-* Copyright (c) 1996-2001, Darren Hiebert
+* Copyright (c) 1996-2002, Darren Hiebert
*
* This source code is released for free distribution under the terms of the
-* GNU General Public License.
+* GNU General Public License version 2 or (at your option) any later version.
*
-* This module contains low level source and tag file read functions (newline
-* conversion for source files are performed at this level).
+* This module contains low level input and tag file read functions (newline
+* conversion for input files are performed at this level).
*/
/*
* INCLUDE FILES
*/
-#include "general.h" /* must always come first */
+#include "general.h" /* must always come first */
#include <string.h>
#include <ctype.h>
#include <glib/gstdio.h>
#define FILE_WRITE
#include "read.h"
+#include "debug.h"
#include "entry.h"
#include "main.h"
+#include "routines.h"
#include "options.h"
/*
@@ -44,7 +45,7 @@ extern void freeSourceFileResources (void)
}
/*
- * Source file access functions
+ * Input file access functions
*/
static void setInputFileName (const char *const fileName)
@@ -94,8 +95,9 @@ static void setSourceFileParameters (vString *const fileName, const langType lan
static boolean setSourceFileName (vString *const fileName)
{
+ const langType language = getFileLanguage (vStringValue (fileName));
boolean result = FALSE;
- if (getFileLanguage (vStringValue (fileName)) != LANG_IGNORE)
+ if (language != LANG_IGNORE)
{
vString *pathName;
if (isAbsolutePath (vStringValue (fileName)) || File.path == NULL)
@@ -154,7 +156,7 @@ static vString *readFileName (void)
if (c == '"')
{
- c = mio_getc (File.fp); /* skip double-quote */
+ c = mio_getc (File.fp); /* skip double-quote */
quoteDelimited = TRUE;
}
while (c != EOF && c != '\n' &&
@@ -233,26 +235,22 @@ static boolean parseLineDirective (void)
}
/*
- * Source file I/O operations
+ * Input file I/O operations
*/
-/* This function opens a source file, and resets the line counter. If it
+/* This function opens an input file, and resets the line counter. If it
* fails, it will display an error message and leave the File.fp set to NULL.
*/
extern boolean fileOpen (const char *const fileName, const langType language)
{
-#ifdef VMS
- const char *const openMode = "r";
-#else
const char *const openMode = "rb";
-#endif
boolean opened = FALSE;
- /* If another file was already open, then close it.
+ /* If another file was already open, then close it.
*/
if (File.fp != NULL)
{
- mio_free (File.fp); /* close any open source file */
+ mio_free (File.fp); /* close any open input file */
File.fp = NULL;
}
@@ -351,7 +349,7 @@ extern boolean fileEOF (void)
return File.eof;
}
-/* Action to take for each encountered source newline.
+/* Action to take for each encountered input newline.
*/
static void fileNewline (void)
{
@@ -368,11 +366,11 @@ static void fileNewline (void)
*/
static int iFileGetc (void)
{
- int c;
+ int c;
readnext:
c = mio_getc (File.fp);
- /* If previous character was a newline, then we're starting a line.
+ /* If previous character was a newline, then we're starting a line.
*/
if (File.newLine && c != EOF)
{
@@ -384,7 +382,6 @@ static int iFileGetc (void)
else
{
mio_setpos (File.fp, &StartOfLine);
-
c = mio_getc (File.fp);
}
}
@@ -399,12 +396,11 @@ static int iFileGetc (void)
}
else if (c == CRETURN)
{
- /* Turn line breaks into a canonical form. The three commonly
- * used forms if line breaks: LF (UNIX), CR (MacIntosh), and
- * CR-LF (MS-DOS) are converted into a generic newline.
+ /* Turn line breaks into a canonical form. The three commonly
+ * used forms if line breaks: LF (UNIX/Mac OS X), CR (Mac OS 9),
+ * and CR-LF (MS-DOS) are converted into a generic newline.
*/
- const int next = mio_getc (File.fp); /* is CR followed by LF? */
-
+ const int next = mio_getc (File.fp); /* is CR followed by LF? */
if (next != NEWLINE)
mio_ungetc (File.fp, next);
@@ -418,7 +414,7 @@ static int iFileGetc (void)
extern void ungetcToInputFile (int c)
{
- const size_t len = sizeof File.ungetchBuf / sizeof File.ungetchBuf[0];
+ const size_t len = ARRAY_SIZE (File.ungetchBuf);
Assert (File.ungetchIdx < len);
/* we cannot rely on the assertion that might be disabled in non-debug mode */
@@ -466,7 +462,7 @@ extern int getcFromInputFile (void)
if (File.ungetchIdx > 0)
{
c = File.ungetchBuf[--File.ungetchIdx];
- return c; /* return here to avoid re-calling debugPutc () */
+ return c; /* return here to avoid re-calling debugPutc () */
}
do
{
@@ -583,7 +579,7 @@ extern char *readLineRaw (vString *const vLine, MIO *const fp)
eol = vStringValue (vLine) + vStringLength (vLine) - 1;
if (*eol == '\r')
*eol = '\n';
- else if (*(eol - 1) == '\r' && *eol == '\n')
+ else if (vStringLength (vLine) != 1 && *(eol - 1) == '\r' && *eol == '\n')
{
*(eol - 1) = '\n';
*eol = '\0';
@@ -598,8 +594,8 @@ extern char *readLineRaw (vString *const vLine, MIO *const fp)
/* Places into the line buffer the contents of the line referenced by
* "location".
*/
-extern char *readSourceLine (vString *const vLine, MIOPos location,
- long *const pSeekValue)
+extern char *readLineFromBypass (
+ vString *const vLine, MIOPos location, long *const pSeekValue)
{
MIOPos orignalPosition;
char *result;
@@ -609,10 +605,10 @@ extern char *readSourceLine (vString *const vLine, MIOPos location,
if (pSeekValue != NULL)
*pSeekValue = mio_tell (File.fp);
result = readLineRaw (vLine, File.fp);
- if (result == NULL)
- error (FATAL, "Unexpected end of file: %s", getInputFileName ());
mio_setpos (File.fp, &orignalPosition);
-
+ /* If the file is empty, we can't get the line
+ for location 0. readLineFromBypass doesn't know
+ what itself should do; just report it to the caller. */
return result;
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Jiří Techet <techet(a)gmail.com>
Committer: Jiří Techet <techet(a)gmail.com>
Date: Sat, 30 Jul 2016 11:11:45 UTC
Commit: 781738fe10153e808dbce08879618f1ce91d685f
https://github.com/geany/geany/commit/781738fe10153e808dbce08879618f1ce91d6…
Log Message:
-----------
Replace fileGetc() with getcFromInputFile() also in comments
Modified Paths:
--------------
ctags/main/read.c
Modified: ctags/main/read.c
8 lines changed, 4 insertions(+), 4 deletions(-)
===================================================================
@@ -453,15 +453,15 @@ static vString *iFileGetLine (void)
return result;
}
-/* Do not mix use of readLineFromInputFile () and fileGetc () for the same file.
+/* Do not mix use of readLineFromInputFile () and getcFromInputFile () for the same file.
*/
extern int getcFromInputFile (void)
{
int c;
/* If there is an ungotten character, then return it. Don't do any
* other processing on it, though, because we already did that the
- * first time it was read through fileGetc ().
+ * first time it was read through getcFromInputFile ().
*/
if (File.ungetchIdx > 0)
{
@@ -514,8 +514,8 @@ extern int skipToCharacterInInputFile (int c)
return d;
}
-/* An alternative interface to fileGetc (). Do not mix use of readLineFromInputFile()
- * and fileGetc() for the same file. The returned string does not contain
+/* An alternative interface to getcFromInputFile (). Do not mix use of readLineFromInputFile()
+ * and getcFromInputFile() for the same file. The returned string does not contain
* the terminating newline. A NULL return value means that all lines in the
* file have been read and we are at the end of file.
*/
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).