Skip to content

Commit 13d6c5e

Browse files
authored
Only pass one argument to C expand (#9664)
1 parent 701d404 commit 13d6c5e

4 files changed

Lines changed: 32 additions & 33 deletions

File tree

src/PIL/ImageFilter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore:
106106
if image.mode == "P":
107107
msg = "cannot filter palette images"
108108
raise ValueError(msg)
109-
image = image.expand(self.size // 2, self.size // 2)
109+
image = image.expand(self.size // 2)
110110
return image.rankfilter(self.size, self.rank)
111111

112112

src/_imaging.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,12 +1088,12 @@ _crop(ImagingObject *self, PyObject *args) {
10881088

10891089
static PyObject *
10901090
_expand_image(ImagingObject *self, PyObject *args) {
1091-
int x, y;
1092-
if (!PyArg_ParseTuple(args, "ii", &x, &y)) {
1091+
int m;
1092+
if (!PyArg_ParseTuple(args, "i", &m)) {
10931093
return NULL;
10941094
}
10951095

1096-
return PyImagingNew(ImagingExpand(self->image, x, y));
1096+
return PyImagingNew(ImagingExpand(self->image, m));
10971097
}
10981098

10991099
static PyObject *

src/libImaging/Filter.c

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -51,47 +51,46 @@ clip32(float in) {
5151
}
5252

5353
Imaging
54-
ImagingExpand(Imaging imIn, int xmargin, int ymargin) {
54+
ImagingExpand(Imaging imIn, int margin) {
5555
Imaging imOut;
5656
int x, y;
5757
ImagingSectionCookie cookie;
5858

59-
if (xmargin < 0 && ymargin < 0) {
59+
if (margin < 0) {
6060
return (Imaging)ImagingError_ValueError("bad kernel size");
6161
}
6262

63-
imOut = ImagingNewDirty(
64-
imIn->mode, imIn->xsize + 2 * xmargin, imIn->ysize + 2 * ymargin
65-
);
63+
imOut =
64+
ImagingNewDirty(imIn->mode, imIn->xsize + 2 * margin, imIn->ysize + 2 * margin);
6665
if (!imOut) {
6766
return NULL;
6867
}
6968

70-
#define EXPAND_LINE(type, image, yin, yout) \
71-
{ \
72-
for (x = 0; x < xmargin; x++) { \
73-
imOut->image[yout][x] = imIn->image[yin][0]; \
74-
} \
75-
for (x = 0; x < imIn->xsize; x++) { \
76-
imOut->image[yout][x + xmargin] = imIn->image[yin][x]; \
77-
} \
78-
for (x = 0; x < xmargin; x++) { \
79-
imOut->image[yout][xmargin + imIn->xsize + x] = \
80-
imIn->image[yin][imIn->xsize - 1]; \
81-
} \
69+
#define EXPAND_LINE(type, image, yin, yout) \
70+
{ \
71+
for (x = 0; x < margin; x++) { \
72+
imOut->image[yout][x] = imIn->image[yin][0]; \
73+
} \
74+
for (x = 0; x < imIn->xsize; x++) { \
75+
imOut->image[yout][x + margin] = imIn->image[yin][x]; \
76+
} \
77+
for (x = 0; x < margin; x++) { \
78+
imOut->image[yout][margin + imIn->xsize + x] = \
79+
imIn->image[yin][imIn->xsize - 1]; \
80+
} \
8281
}
8382

84-
#define EXPAND(type, image) \
85-
{ \
86-
for (y = 0; y < ymargin; y++) { \
87-
EXPAND_LINE(type, image, 0, y); \
88-
} \
89-
for (y = 0; y < imIn->ysize; y++) { \
90-
EXPAND_LINE(type, image, y, y + ymargin); \
91-
} \
92-
for (y = 0; y < ymargin; y++) { \
93-
EXPAND_LINE(type, image, imIn->ysize - 1, ymargin + imIn->ysize + y); \
94-
} \
83+
#define EXPAND(type, image) \
84+
{ \
85+
for (y = 0; y < margin; y++) { \
86+
EXPAND_LINE(type, image, 0, y); \
87+
} \
88+
for (y = 0; y < imIn->ysize; y++) { \
89+
EXPAND_LINE(type, image, y, y + margin); \
90+
} \
91+
for (y = 0; y < margin; y++) { \
92+
EXPAND_LINE(type, image, imIn->ysize - 1, margin + imIn->ysize + y); \
93+
} \
9594
}
9695

9796
ImagingSectionEnter(&cookie);

src/libImaging/Imaging.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ ImagingConvertTransparent(Imaging im, ModeID mode, int r, int g, int b);
313313
extern Imaging
314314
ImagingCrop(Imaging im, int x0, int y0, int x1, int y1);
315315
extern Imaging
316-
ImagingExpand(Imaging im, int x, int y);
316+
ImagingExpand(Imaging im, int m);
317317
extern Imaging
318318
ImagingFill(Imaging im, const void *ink);
319319
extern int

0 commit comments

Comments
 (0)