@@ -30,10 +30,12 @@ func CopyFile(src, dest string) error {
3030 return fmt .Errorf ("security validation failed: %w" , err )
3131 }
3232
33- // Ensure destination directory exists
33+ // Ensure destination directory exists (skip if it's current dir)
3434 destDir := filepath .Dir (dest )
35- if err := os .MkdirAll (destDir , 0755 ); err != nil {
36- return fmt .Errorf ("failed to create destination directory %s: %w" , destDir , err )
35+ if destDir != "." && destDir != "/" {
36+ if err := os .MkdirAll (destDir , 0755 ); err != nil {
37+ return fmt .Errorf ("failed to create destination directory %s: %w" , destDir , err )
38+ }
3739 }
3840
3941 // Open source file
@@ -224,10 +226,12 @@ func WriteFile(path, content string) error {
224226 return fmt .Errorf ("security validation failed: %w" , err )
225227 }
226228
227- // Ensure parent directory exists
229+ // Ensure parent directory exists (skip if it's current dir)
228230 dir := filepath .Dir (path )
229- if err := os .MkdirAll (dir , 0755 ); err != nil {
230- return fmt .Errorf ("failed to create parent directory %s: %w" , dir , err )
231+ if dir != "." && dir != "/" {
232+ if err := os .MkdirAll (dir , 0755 ); err != nil {
233+ return fmt .Errorf ("failed to create parent directory %s: %w" , dir , err )
234+ }
231235 }
232236
233237 if err := os .WriteFile (path , []byte (content ), 0644 ); err != nil {
@@ -245,10 +249,12 @@ func AppendToFile(path, content string) error {
245249 return fmt .Errorf ("security validation failed: %w" , err )
246250 }
247251
248- // Ensure parent directory exists
252+ // Ensure parent directory exists (skip if it's current dir)
249253 dir := filepath .Dir (path )
250- if err := os .MkdirAll (dir , 0755 ); err != nil {
251- return fmt .Errorf ("failed to create parent directory %s: %w" , dir , err )
254+ if dir != "." && dir != "/" {
255+ if err := os .MkdirAll (dir , 0755 ); err != nil {
256+ return fmt .Errorf ("failed to create parent directory %s: %w" , dir , err )
257+ }
252258 }
253259
254260 // Open file in append mode (create if doesn't exist)
@@ -277,10 +283,12 @@ func ConcatenateFiles(sources []string, dest string) error {
277283 return fmt .Errorf ("no source files provided for concatenation" )
278284 }
279285
280- // Ensure destination directory exists
286+ // Ensure destination directory exists (skip if it's current dir)
281287 destDir := filepath .Dir (dest )
282- if err := os .MkdirAll (destDir , 0755 ); err != nil {
283- return fmt .Errorf ("failed to create destination directory %s: %w" , destDir , err )
288+ if destDir != "." && destDir != "/" {
289+ if err := os .MkdirAll (destDir , 0755 ); err != nil {
290+ return fmt .Errorf ("failed to create destination directory %s: %w" , destDir , err )
291+ }
284292 }
285293
286294 // Create destination file
@@ -321,10 +329,12 @@ func MovePath(src, dest string) error {
321329 return fmt .Errorf ("security validation failed for destination: %w" , err )
322330 }
323331
324- // Ensure destination parent directory exists
332+ // Ensure destination parent directory exists (skip if it's current dir)
325333 destDir := filepath .Dir (dest )
326- if err := os .MkdirAll (destDir , 0755 ); err != nil {
327- return fmt .Errorf ("failed to create destination directory %s: %w" , destDir , err )
334+ if destDir != "." && destDir != "/" {
335+ if err := os .MkdirAll (destDir , 0755 ); err != nil {
336+ return fmt .Errorf ("failed to create destination directory %s: %w" , destDir , err )
337+ }
328338 }
329339
330340 // Attempt rename (works if on same filesystem)
0 commit comments