--- a/dlls/mlang/mlang.c	
+++ a/dlls/mlang/mlang.c	
@@ -3469,8 +3469,44 @@ static HRESULT WINAPI fnIMLangLineBreakConsole_BreakLineW(
 {
     FIXME("(%p)->%i %s %i %i %p %p\n", iface, locale, debugstr_wn(pszSrc,cchSrc), cchSrc, cMaxColumns, pcchLine, pcchSkip);
 
-    *pcchLine = cchSrc;
-    *pcchSkip = 0;
+    LONG tempPcchSkip = 0;
+    LONG i;
+    for (i=0; i<cchSrc; i++)
+    {
+        if (pszSrc[i]==' ')
+        {
+            if (tempPcchSkip==0)
+            {
+                *pcchLine=i;
+            }
+            tempPcchSkip++;
+        }
+        else
+        {
+            if (tempPcchSkip!=0) 
+            {
+                *pcchSkip=tempPcchSkip;
+                tempPcchSkip=0;
+            }
+            if (i>cMaxColumns) 
+            {
+                if (*pcchLine==0)
+                {
+                    *pcchLine=cMaxColumns;
+                    *pcchSkip = 0;
+                }
+                break;
+            }
+            if (i==cchSrc-1) 
+            {
+                *pcchLine=cchSrc;
+                *pcchSkip = 0;
+
+            }
+        }
+
+
+    }
     return S_OK;
 }
 
@@ -3486,8 +3522,47 @@ static HRESULT WINAPI fnIMLangLineBreakConsole_BreakLineA(
 {
     FIXME("(%p)->%i %i %s %i %i %p %p\n", iface, locale, uCodePage, debugstr_an(pszSrc,cchSrc), cchSrc, cMaxColumns, pcchLine, pcchSkip);
 
-    *pcchLine = cchSrc;
+    *pcchLine = 0;
     *pcchSkip = 0;
+
+    LONG tempPcchSkip = 0;
+    LONG i;
+    for (i=0; i<cchSrc; i++)
+    {
+        if (pszSrc[i]==' ')
+        {
+            if (tempPcchSkip==0)
+            {
+                *pcchLine=i;
+            }
+            tempPcchSkip++;
+        }
+        else
+        {
+            if (tempPcchSkip!=0) 
+            {
+                *pcchSkip=tempPcchSkip;
+                tempPcchSkip=0;
+            }
+            if (i>cMaxColumns) 
+            {
+                if (*pcchLine==0)
+                {
+                    *pcchLine=cMaxColumns;
+                    *pcchSkip = 0;
+                }
+                break;
+            }
+            if (i==cchSrc-1) 
+            {
+                *pcchLine=cchSrc;
+                *pcchSkip = 0;
+
+            }
+        }
+
+
+    }
     return S_OK;
 }
 
