circuitpython/lib
Noralf Trønnes 28383afa11 shared-module/os: Fix os.mkdir('a/b')
This fixes commit a99f9427420d("'/' and '\' are also acceptable ends of the path now") which broke mkdir.
The problem is where the directory name is a single letter like this:
>>> os.mkdir('a')
>>> os.mkdir('a/b')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 17] File exists
>>> os.mkdir('a/bb')
>>>

I wasn't smart enough to fix this in the oofatfs library, so I did it in the os shared module by
creating a path lookup function for the os methods that only deals with directories. I reverted
the library change introduced by the aforementioned commit.

This means that os.stat and os.rename can't handle trailing slashes. This is to avoid allowing
filenames with trailing slashes to pass through. In order to handle trailing slashes for these
it would be necessary to check if it really is a directory before stripping. I didn't do this
since the original issue was to make os.chdir tolerate trailing slashes.

There's an open MicroPython issue #2929 wrt. trailing slashes and mkdir.
2018-11-09 19:20:56 +01:00
..
axtls@43a6e6bd3b WIP: complete manual inspection of all significant changes 2018-07-23 21:34:25 -04:00
berkeley-db-1.xx@35aaec4418 berkeley-db-1.xx: Update, allow to override MINCACHE, DEFPSIZE. 2017-09-10 13:51:51 +03:00
cmsis/inc lib/cmsis: upgrade CMSIS-CORE to V4.30 2016-09-30 16:19:03 +10:00
embed Two fixes and translate more strings. 2018-08-09 13:29:30 -07:00
libc Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master. 2017-08-25 22:17:07 -04:00
libffi@e9de7e35f2 lib/libffi: Add libffi as a submodule. 2015-10-17 15:52:35 +03:00
libm merge from 2.2.0 + fix up board defs 2018-01-02 21:25:41 -05:00
libm_dbl lib: Add libm_dbl, a double-precision math library, from musl-1.1.16. 2017-06-28 15:12:04 +10:00
lwip@5b8b5d459e lib/lwip: Update lwIP to v2.0.3, tag STABLE-2_0_3_RELEASE. 2018-05-17 13:11:31 +10:00
memzip lib/memzip: Make lexer constructor raise exception when file not found. 2017-03-14 11:52:05 +11:00
mp-readline merge finished 2018-07-28 13:29:47 -04:00
netutils Fix esp and samd 2018-08-16 17:41:35 -07:00
nrfutil@9e7dfb28a5 update nrfutil to 0.5.2d with singlebank option 2018-05-17 15:20:07 +07:00
oofatfs shared-module/os: Fix os.mkdir('a/b') 2018-11-09 19:20:56 +01:00
stm32lib@d2bcfda543 lib/stm32lib: Update library to include support for STM32F0 MCUs. 2018-05-28 21:46:20 +10:00
timeutils Fix os.stat() to use 1970 epoch 2018-08-25 20:43:02 +02:00
tinytest lib/tinytest: Clean up test reporting in the presence of stdout output. 2017-12-15 19:41:08 +02:00
tinyusb@33c61bfda2 fix tinyusb cdc issue 2018-10-05 21:37:16 +07:00
upytesthelper lib/upytesthelper: MicroPython test helper layer on top of tinytest. 2017-12-13 09:07:51 +02:00
utils Add i2cslave.I2CSlave bindings 2018-08-16 17:11:20 +02:00
uzlib@f966da0fab uzlib: Upgrade to uzlib v2.9 release 2018-09-09 20:22:25 -05:00
README.md lib: Add basic README. 2014-09-18 00:13:03 +01:00

This directory contains standard, low-level C libraries with emphasis on being independent and efficient. They can be used by any port.