Mail Archives: djgpp/2000/09/23/08:00:34
From: | raynee AT my-deja DOT com
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | GPF caused by string functions...
|
Date: | Sat, 23 Sep 2000 11:35:18 GMT
|
Organization: | Deja.com - Before you buy.
|
Lines: | 51
|
Message-ID: | <8qi4hm$ism$1@nnrp1.deja.com>
|
NNTP-Posting-Host: | 195.92.194.42
|
X-Article-Creation-Date: | Sat Sep 23 11:35:18 2000 GMT
|
X-Http-User-Agent: | Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
|
X-Http-Proxy: | 1.1 www-cache.pol.co.uk (NetCache 4.1R5D2), 1.1 x73.deja.com:80 (Squid/1.1.22) for client 62.136.92.206, 195.92.194.42
|
X-MyDeja-Info: | XMYDJUIDraynee
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
I am trying to get some string functions to work as part of the
interface for my program. I am using ScreenPutString to write to the
screen and my code appears to work when I call my centrestring()
function once it works okay. A second call, however, causes a General
Protection fault no matter how I specify my parameters. The code that I
am using is:
/* Include standard DJGPP libraries */
#include <pc.h>
#include <conio.h>
#include <string.h>
/* putstring ( str, fg, bg, col, row )
Calls the DJGPP function ScreenPutString from libc.a */
int putstring ( char *str, int fg, int bg, int col, int row ) {
ScreenPutString(str, (bg<<4) | fg, col, row);
}
/* centrestring ( str, fg, bg, row, col, width )
Writes the specified string to the screen, centring it as it does */
int centrestring ( char *str, int fg, int bg, int col, int row, int
width ) {
char buf[81], spacer[81];
int i,j,k;
i = strlen(str);
j = (width - i) / 2;
memset(buf,' ',--j);
strcat(buf,str);
memset(spacer,' ',(width-i-j));
strcat(buf,spacer);
buf[width] = 0;
putstring(buf,fg,bg,col,row);
}
/* main
Tests the code */
int main ( void ) {
centrestring("Just one line is okay",WHITE,BLUE,0,0,80);
centrestring("This should work.",WHITE,BLUE,0,1,80);
}
If anyone has any ideas as to why this doesn't work I would appreciate
any feedback.
Regards,
Ed
Sent via Deja.com http://www.deja.com/
Before you buy.
- Raw text -