added _mesa_find_line_column()

This commit is contained in:
Brian Paul
2003-02-23 05:23:53 +00:00
parent 736d10c274
commit 25fea6be0a
2 changed files with 41 additions and 2 deletions
+36 -1
View File
@@ -1,4 +1,4 @@
/* $Id: nvprogram.c,v 1.3 2003/02/16 23:07:36 brianp Exp $ */
/* $Id: nvprogram.c,v 1.4 2003/02/23 05:23:53 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -141,6 +141,41 @@ _mesa_set_program_error(GLcontext *ctx, GLint pos, const char *string)
}
const char *
_mesa_find_line_column(const char *string, const char *pos,
GLint *line, GLint *col)
{
const char *lineStart = string;
const char *p = string;
char *s;
int len;
*line = 1;
while (p != pos) {
if (*p == '\n') {
(*line)++;
lineStart = p + 1;
}
p++;
}
*col = (pos - lineStart) + 1;
/* return copy of this line */
while (*p != 0 && *p != '\n')
p++;
len = p - lineStart;
s = (char *) _mesa_malloc(len + 1);
_mesa_memcpy(s, lineStart, len);
s[len] = 0;
return s;
}
/**
* Delete a program and remove it from the hash table, ignoring the
* reference count.
+5 -1
View File
@@ -1,4 +1,4 @@
/* $Id: nvprogram.h,v 1.2 2003/02/16 23:07:36 brianp Exp $ */
/* $Id: nvprogram.h,v 1.3 2003/02/23 05:23:54 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -55,6 +55,10 @@ _mesa_assign_program_registers(struct symbol_table *symbolTable);
extern void
_mesa_set_program_error(GLcontext *ctx, GLint pos, const char *string);
extern const char *
_mesa_find_line_column(const char *string, const char *pos,
GLint *line, GLint *col);
extern void
_mesa_delete_program(GLcontext *ctx, GLuint id);