Kaydet (Commit) 7bd9fbde authored tarafından Barry Warsaw's avatar Barry Warsaw

Grandly renamed.

Note that since I have no idea how to test this, I didn't write a test
case.  It does seem to at least compile on my system though.
üst dbfed710
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
* Changed to incorporate into Python. * Changed to incorporate into Python.
* Sjoerd Mullender - 1993 * Sjoerd Mullender - 1993
*/ */
#include "allobjects.h" #include "Python.h"
#include "modsupport.h"
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
...@@ -83,12 +83,12 @@ typedef struct { ...@@ -83,12 +83,12 @@ typedef struct {
#define CHANOFFSET(z) (3-(z)) /* this is byte order dependent */ #define CHANOFFSET(z) (3-(z)) /* this is byte order dependent */
static void expandrow PROTO((unsigned char *, unsigned char *, int)); static void expandrow Py_PROTO((unsigned char *, unsigned char *, int));
static void setalpha PROTO((unsigned char *, int)); static void setalpha Py_PROTO((unsigned char *, int));
static void copybw PROTO((long *, int)); static void copybw Py_PROTO((long *, int));
static void interleaverow PROTO((unsigned char *, unsigned char *, int, int)); static void interleaverow Py_PROTO((unsigned char*, unsigned char*, int, int));
static int compressrow PROTO((unsigned char *, unsigned char *, int, int)); static int compressrow Py_PROTO((unsigned char *, unsigned char *, int, int));
static void lumrow PROTO((unsigned char *, unsigned char *, int)); static void lumrow Py_PROTO((unsigned char *, unsigned char *, int));
#ifdef ADD_TAGS #ifdef ADD_TAGS
#define TAGLEN (5) #define TAGLEN (5)
...@@ -96,7 +96,7 @@ static void lumrow PROTO((unsigned char *, unsigned char *, int)); ...@@ -96,7 +96,7 @@ static void lumrow PROTO((unsigned char *, unsigned char *, int));
#define TAGLEN (0) #define TAGLEN (0)
#endif #endif
static object *ImgfileError; static PyObject *ImgfileError;
static int reverse_order; static int reverse_order;
...@@ -229,29 +229,29 @@ int len; ...@@ -229,29 +229,29 @@ int len;
* return the xsize and ysize of an iris image file. * return the xsize and ysize of an iris image file.
* *
*/ */
static object * static PyObject *
sizeofimage(self, args) sizeofimage(self, args)
object *self, *args; PyObject *self, *args;
{ {
char *name; char *name;
IMAGE image; IMAGE image;
FILE *inf; FILE *inf;
if (!getargs(args, "s", &name)) if (!PyArg_Parse(args, "s", &name))
return NULL; return NULL;
inf = fopen(name,"r"); inf = fopen(name,"r");
if(!inf) { if(!inf) {
err_setstr(ImgfileError, "can't open image file"); PyErr_SetString(ImgfileError, "can't open image file");
return NULL; return NULL;
} }
readheader(inf,&image); readheader(inf,&image);
fclose(inf); fclose(inf);
if(image.imagic != IMAGIC) { if(image.imagic != IMAGIC) {
err_setstr(ImgfileError, "bad magic number in image file"); PyErr_SetString(ImgfileError, "bad magic number in image file");
return NULL; return NULL;
} }
return mkvalue("(ii)", image.xsize, image.ysize); return Py_BuildValue("(ii)", image.xsize, image.ysize);
} }
/* /*
...@@ -260,9 +260,9 @@ sizeofimage(self, args) ...@@ -260,9 +260,9 @@ sizeofimage(self, args)
* pointer to an array of longs. * pointer to an array of longs.
* *
*/ */
static object * static PyObject *
longimagedata(self, args) longimagedata(self, args)
object *self, *args; PyObject *self, *args;
{ {
char *name; char *name;
unsigned char *base, *lptr; unsigned char *base, *lptr;
...@@ -274,26 +274,26 @@ longimagedata(self, args) ...@@ -274,26 +274,26 @@ longimagedata(self, args)
int xsize, ysize, zsize; int xsize, ysize, zsize;
int bpp, rle, cur, badorder; int bpp, rle, cur, badorder;
int rlebuflen; int rlebuflen;
object *rv; PyObject *rv;
if (!getargs(args, "s", &name)) if (!PyArg_Parse(args, "s", &name))
return NULL; return NULL;
inf = fopen(name,"r"); inf = fopen(name,"r");
if(!inf) { if(!inf) {
err_setstr(ImgfileError,"can't open image file"); PyErr_SetString(ImgfileError,"can't open image file");
return NULL; return NULL;
} }
readheader(inf,&image); readheader(inf,&image);
if(image.imagic != IMAGIC) { if(image.imagic != IMAGIC) {
err_setstr(ImgfileError,"bad magic number in image file"); PyErr_SetString(ImgfileError,"bad magic number in image file");
fclose(inf); fclose(inf);
return NULL; return NULL;
} }
rle = ISRLE(image.type); rle = ISRLE(image.type);
bpp = BPP(image.type); bpp = BPP(image.type);
if(bpp != 1 ) { if(bpp != 1 ) {
err_setstr(ImgfileError,"image must have 1 byte per pix chan"); PyErr_SetString(ImgfileError,"image must have 1 byte per pix chan");
fclose(inf); fclose(inf);
return NULL; return NULL;
} }
...@@ -327,8 +327,8 @@ longimagedata(self, args) ...@@ -327,8 +327,8 @@ longimagedata(self, args)
fseek(inf,512+2*tablen,SEEK_SET); fseek(inf,512+2*tablen,SEEK_SET);
cur = 512+2*tablen; cur = 512+2*tablen;
rv = newsizedstringobject((char *) 0, rv = PyString_FromStringAndSize((char *) 0,
(xsize*ysize+TAGLEN)*sizeof(long)); (xsize*ysize+TAGLEN)*sizeof(long));
if (rv == NULL) { if (rv == NULL) {
fclose(inf); fclose(inf);
free(lengthtab); free(lengthtab);
...@@ -336,7 +336,7 @@ longimagedata(self, args) ...@@ -336,7 +336,7 @@ longimagedata(self, args)
free(rledat); free(rledat);
return NULL; return NULL;
} }
base = (unsigned char *) getstringvalue(rv); base = (unsigned char *) PyString_AsString(rv);
#ifdef ADD_TAGS #ifdef ADD_TAGS
addlongimgtag(base,xsize,ysize); addlongimgtag(base,xsize,ysize);
#endif #endif
...@@ -351,9 +351,10 @@ longimagedata(self, args) ...@@ -351,9 +351,10 @@ longimagedata(self, args)
cur = starttab[y+z*ysize]; cur = starttab[y+z*ysize];
} }
if(lengthtab[y+z*ysize]>rlebuflen) { if(lengthtab[y+z*ysize]>rlebuflen) {
err_setstr(ImgfileError,"rlebuf is too small - bad poop"); PyErr_SetString(ImgfileError,
"rlebuf is too small - bad poop");
fclose(inf); fclose(inf);
DECREF(rv); Py_DECREF(rv);
free(rledat); free(rledat);
free(starttab); free(starttab);
free(lengthtab); free(lengthtab);
...@@ -398,13 +399,13 @@ longimagedata(self, args) ...@@ -398,13 +399,13 @@ longimagedata(self, args)
free(rledat); free(rledat);
return rv; return rv;
} else { } else {
rv = newsizedstringobject((char *) 0, rv = PyString_FromStringAndSize((char *) 0,
(xsize*ysize+TAGLEN)*sizeof(long)); (xsize*ysize+TAGLEN)*sizeof(long));
if (rv == NULL) { if (rv == NULL) {
fclose(inf); fclose(inf);
return NULL; return NULL;
} }
base = (unsigned char *) getstringvalue(rv); base = (unsigned char *) PyString_AsString(rv);
#ifdef ADD_TAGS #ifdef ADD_TAGS
addlongimgtag(base,xsize,ysize); addlongimgtag(base,xsize,ysize);
#endif #endif
...@@ -551,9 +552,9 @@ int z; ...@@ -551,9 +552,9 @@ int z;
* RGBA image file is saved. * RGBA image file is saved.
* *
*/ */
static object * static PyObject *
longstoimage(self, args) longstoimage(self, args)
object *self, *args; PyObject *self, *args;
{ {
unsigned char *lptr; unsigned char *lptr;
char *name; char *name;
...@@ -566,13 +567,14 @@ longstoimage(self, args) ...@@ -566,13 +567,14 @@ longstoimage(self, args)
unsigned char *lumbuf; unsigned char *lumbuf;
int rlebuflen, goodwrite; int rlebuflen, goodwrite;
if (!getargs(args, "(s#iiis)", &lptr, &len, &xsize, &ysize, &zsize, &name)) if (!PyArg_Parse(args, "(s#iiis)", &lptr, &len, &xsize, &ysize, &zsize,
&name))
return NULL; return NULL;
goodwrite = 1; goodwrite = 1;
outf = fopen(name,"w"); outf = fopen(name,"w");
if(!outf) { if(!outf) {
err_setstr(ImgfileError,"can't open output file"); PyErr_SetString(ImgfileError,"can't open output file");
return NULL; return NULL;
} }
tablen = ysize*zsize*sizeof(long); tablen = ysize*zsize*sizeof(long);
...@@ -609,7 +611,7 @@ longstoimage(self, args) ...@@ -609,7 +611,7 @@ longstoimage(self, args)
len = compressrow(lptr,rlebuf,CHANOFFSET(z),xsize); len = compressrow(lptr,rlebuf,CHANOFFSET(z),xsize);
} }
if(len>rlebuflen) { if(len>rlebuflen) {
err_setstr(ImgfileError,"rlebuf is too small - bad poop"); PyErr_SetString(ImgfileError,"rlebuf is too small - bad poop");
free(starttab); free(starttab);
free(lengthtab); free(lengthtab);
free(rlebuf); free(rlebuf);
...@@ -637,10 +639,10 @@ longstoimage(self, args) ...@@ -637,10 +639,10 @@ longstoimage(self, args)
free(lumbuf); free(lumbuf);
fclose(outf); fclose(outf);
if(goodwrite) { if(goodwrite) {
INCREF(None); Py_INCREF(Py_None);
return None; return Py_None;
} else { } else {
err_setstr(ImgfileError,"not enough space for image!!"); PyErr_SetString(ImgfileError,"not enough space for image!!");
return NULL; return NULL;
} }
} }
...@@ -718,21 +720,21 @@ int z, cnt; ...@@ -718,21 +720,21 @@ int z, cnt;
return optr - (unsigned char *)rlebuf; return optr - (unsigned char *)rlebuf;
} }
static object * static PyObject *
ttob(self, args) ttob(self, args)
object *self; PyObject *self;
object *args; PyObject *args;
{ {
int order, oldorder; int order, oldorder;
if (!getargs(args, "i", &order)) if (!PyArg_Parse(args, "i", &order))
return NULL; return NULL;
oldorder = reverse_order; oldorder = reverse_order;
reverse_order = order; reverse_order = order;
return newintobject(oldorder); return PyInt_FromLong(oldorder);
} }
static struct methodlist rgbimg_methods[] = { static PyMethodDef rgbimg_methods[] = {
{"sizeofimage", sizeofimage}, {"sizeofimage", sizeofimage},
{"longimagedata", longimagedata}, {"longimagedata", longimagedata},
{"longstoimage", longstoimage}, {"longstoimage", longstoimage},
...@@ -743,10 +745,10 @@ static struct methodlist rgbimg_methods[] = { ...@@ -743,10 +745,10 @@ static struct methodlist rgbimg_methods[] = {
void void
initrgbimg() initrgbimg()
{ {
object *m, *d; PyObject *m, *d;
m = initmodule("rgbimg", rgbimg_methods); m = Py_InitModule("rgbimg", rgbimg_methods);
d = getmoduledict(m); d = PyModule_GetDict(m);
ImgfileError = newstringobject("rgbimg.error"); ImgfileError = PyString_FromString("rgbimg.error");
if (ImgfileError == NULL || dictinsert(d, "error", ImgfileError)) if (ImgfileError == NULL || PyDict_SetItemString(d, "error", ImgfileError))
fatal("can't define rgbimg.error"); Py_FatalError("can't define rgbimg.error");
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment