summaryrefslogtreecommitdiffstats
path: root/libvo/geometry.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/geometry.c')
-rw-r--r--libvo/geometry.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libvo/geometry.c b/libvo/geometry.c
index fbafb5a955..1fb402970c 100644
--- a/libvo/geometry.c
+++ b/libvo/geometry.c
@@ -31,20 +31,21 @@ int geometry(int *xpos, int *ypos, int *widw, int *widh, int scrw, int scrh)
RESET_GEOMETRY
if(sscanf(vo_geometry, "+%i+%i", &xoff, &yoff) != 2)
{
+ char percent[2];
RESET_GEOMETRY
- if(sscanf(vo_geometry, "%i:%i", &xoff, &yoff) != 2)
+ if(sscanf(vo_geometry, "%i%%:%i%1[%]", &xper, &yper, &percent) != 3)
{
RESET_GEOMETRY
- if(sscanf(vo_geometry, "%i:%i%%", &xper, &yper) != 2)
+ if(sscanf(vo_geometry, "%i:%i%1[%]", &xoff, &yper, &percent) != 3)
{
RESET_GEOMETRY
- if(sscanf(vo_geometry, "%i%%:%i", &xper, &yper) != 2)
+ if(sscanf(vo_geometry, "%i%%:%i", &xper, &yoff) != 2)
{
RESET_GEOMETRY
- if(sscanf(vo_geometry, "%i%%:%i%%", &xper, &yper) != 2)
+ if(sscanf(vo_geometry, "%i:%i", &xoff, &yoff) != 2)
{
RESET_GEOMETRY
- if(sscanf(vo_geometry, "%i%%", &xper) != 1)
+ if(sscanf(vo_geometry, "%i%1[%]", &xper, &percent) != 2)
{
mp_msg(MSGT_VO, MSGL_ERR,
"-geometry must be in [WxH][+X+Y] | [X[%%]:[Y[%%]]] format, incorrect (%s)\n", vo_geometry);