~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/win32utils.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-11-17 03:20:35 UTC
  • mfrom: (4792.4.3 456036)
  • Revision ID: pqm@pqm.ubuntu.com-20091117032035-s3sgtlixj1lrminn
(Gordon Tyler) Fix IndexError during 'bzr ignore /' (#456036)

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
import glob
23
23
import os
24
24
import re
 
25
import shlex
25
26
import struct
 
27
import StringIO
26
28
import sys
27
29
 
28
30
 
180
182
        return (defaultx, defaulty)
181
183
 
182
184
    # To avoid problem with redirecting output via pipe
183
 
    # we need to use stderr instead of stdout
 
185
    # need to use stderr instead of stdout
184
186
    h = ctypes.windll.kernel32.GetStdHandle(WIN32_STDERR_HANDLE)
185
187
    csbi = ctypes.create_string_buffer(22)
186
188
    res = ctypes.windll.kernel32.GetConsoleScreenBufferInfo(h, csbi)
390
392
 
391
393
 
392
394
def _ensure_unicode(s):
 
395
    from bzrlib import osutils
393
396
    if s and type(s) != unicode:
394
397
        from bzrlib import osutils
395
398
        s = s.decode(osutils.get_user_encoding())
628
631
    args = []
629
632
    for is_quoted, arg in s:
630
633
        if is_quoted or not glob.has_magic(arg):
631
 
            args.append(arg)
 
634
            args.append(arg.replace(u'\\', u'/'))
632
635
        else:
633
636
            args.extend(glob_one(arg))
634
637
    return args
645
648
        prototype = ctypes.WINFUNCTYPE(POINTER(LPCWSTR), LPCWSTR, POINTER(INT))
646
649
        command_line = GetCommandLine()
647
650
        # Skip the first argument, since we only care about parameters
648
 
        argv = _command_line_to_argv(command_line)[1:]
 
651
        argv = _command_line_to_argv(GetCommandLine())[1:]
649
652
        if getattr(sys, 'frozen', None) is None:
650
653
            # Invoked via 'python.exe' which takes the form:
651
654
            #   python.exe [PYTHON_OPTIONS] C:\Path\bzr [BZR_OPTIONS]