[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#77543: cgic.h not const-correct



Package: libcgicg1-dev
Version: 1.06-4

The header file cgic.h is not const-correct, meaning that
const-correct programs written against it do not compile without
warnings.

The attached patch to cgic.h rectifies this, but will probably create
additional compiler warnings when the library itself is compiled.  I'm
afraid I don't have time right now to make the whole library
const-correct, which is what would be required to remove those
warnings.

Ian.

--- cgic.h~	Mon Nov 20 17:02:44 2000
+++ cgic.h	Mon Nov 20 17:04:48 2000
@@ -19,25 +19,25 @@
 	and restore CGI environments, which is highly convenient
 	for debugging. */
 
-extern char *cgiServerSoftware;
-extern char *cgiServerName;
-extern char *cgiGatewayInterface;
-extern char *cgiServerProtocol;
-extern char *cgiServerPort;
-extern char *cgiRequestMethod;
-extern char *cgiPathInfo;
-extern char *cgiPathTranslated;
-extern char *cgiScriptName;
-extern char *cgiQueryString;
-extern char *cgiRemoteHost;
-extern char *cgiRemoteAddr;
-extern char *cgiAuthType;
-extern char *cgiRemoteUser;
-extern char *cgiRemoteIdent;
-extern char *cgiContentType;
-extern char *cgiAccept;
-extern char *cgiUserAgent;
-extern char *cgiReferrer;
+extern const char *cgiServerSoftware;
+extern const char *cgiServerName;
+extern const char *cgiGatewayInterface;
+extern const char *cgiServerProtocol;
+extern const char *cgiServerPort;
+extern const char *cgiRequestMethod;
+extern const char *cgiPathInfo;
+extern const char *cgiPathTranslated;
+extern const char *cgiScriptName;
+extern const char *cgiQueryString;
+extern const char *cgiRemoteHost;
+extern const char *cgiRemoteAddr;
+extern const char *cgiAuthType;
+extern const char *cgiRemoteUser;
+extern const char *cgiRemoteIdent;
+extern const char *cgiContentType;
+extern const char *cgiAccept;
+extern const char *cgiUserAgent;
+extern const char *cgiReferrer;
 /* A macro providing the same incorrect spelling that is
 	found in the HTTP/CGI specifications */
 #define cgiReferer cgiReferrer
@@ -81,66 +81,66 @@
 
 
 extern cgiFormResultType cgiFormString(
-	char *name, char *result, int max);
+	const char *name, char *result, int max);
 
 
 extern cgiFormResultType cgiFormStringNoNewlines(
-	char *name, char *result, int max);
+	const char *name, char *result, int max);
 
 
 extern cgiFormResultType cgiFormStringSpaceNeeded(
-	char *name, int *length);
+	const char *name, int *length);
 
 
 extern cgiFormResultType cgiFormStringMultiple(
-	char *name, char ***ptrToStringArray);
+	const char *name, char ***ptrToStringArray);
 
 
 extern void cgiStringArrayFree(char **stringArray);
 	
 
 extern cgiFormResultType cgiFormInteger(
-	char *name, int *result, int defaultV);
+	const char *name, int *result, int defaultV);
 
 
 extern cgiFormResultType cgiFormIntegerBounded(
-	char *name, int *result, int min, int max, int defaultV);
+	const char *name, int *result, int min, int max, int defaultV);
 
 extern cgiFormResultType cgiFormDouble(
-	char *name, double *result, double defaultV);
+	const char *name, double *result, double defaultV);
 
 
 extern cgiFormResultType cgiFormDoubleBounded(
-	char *name, double *result, double min, double max, double defaultV);
+	const char *name, double *result, double min, double max, double defaultV);
 
 
 extern cgiFormResultType cgiFormSelectSingle(
-	char *name, char **choicesText, int choicesTotal, 
+	const char *name, const char *const *choicesText, int choicesTotal, 
 	int *result, int defaultV);	
 
 
 extern cgiFormResultType cgiFormSelectMultiple(
-	char *name, char **choicesText, int choicesTotal, 
+	const char *name, const char *const *choicesText, int choicesTotal, 
 	int *result, int *invalid);
 
 
 extern cgiFormResultType cgiFormCheckboxSingle(
-	char *name);
+	const char *name);
 
 
 extern cgiFormResultType cgiFormCheckboxMultiple(
-	char *name, char **valuesText, int valuesTotal, 
+	const char *name, const char *const *valuesText, int valuesTotal, 
 	int *result, int *invalid);
 
 
 extern cgiFormResultType cgiFormRadio(
-	char *name, char **valuesText, int valuesTotal, 
+	const char *name, const char *const *valuesText, int valuesTotal, 
 	int *result, int defaultV);	
 
 
-extern void cgiHeaderLocation(char *redirectUrl);
-extern void cgiHeaderStatus(int status, char *statusMessage);
-extern void cgiHeaderContentType(char *mimeType);
+extern void cgiHeaderLocation(const char *redirectUrl);
+extern void cgiHeaderStatus(int status, const char *statusMessage);
+extern void cgiHeaderContentType(const char *mimeType);
 
 typedef enum {
 	cgiEnvironmentIO,
@@ -148,8 +148,8 @@
 	cgiEnvironmentSuccess
 } cgiEnvironmentResultType;
 
-extern cgiEnvironmentResultType cgiWriteEnvironment(char *filename);
-extern cgiEnvironmentResultType cgiReadEnvironment(char *filename);
+extern cgiEnvironmentResultType cgiWriteEnvironment(const char *filename);
+extern cgiEnvironmentResultType cgiReadEnvironment(const char *filename);
 
 
 extern int cgiMain();



Reply to: