From d568eaa2712bd0399d4f9e7151dd5d664f39e8ae Mon Sep 17 00:00:00 2001 From: al Date: Wed, 9 Feb 2005 17:58:41 +0000 Subject: [PATCH] Fix the behaviour of -geometry according to the documentation. Patch by Bjorn Danielsson git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14679 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/geometry.c | 11 ++++++----- 1 file 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);