Sponsored Content
Top Forums Programming how to simulate "mkdir -p /home/blah1/blah2/blah3" in "c" where only /home exist Post 302358752 by reborg on Sunday 4th of October 2009 01:24:42 PM
Old 10-04-2009
Quote:
Originally Posted by jlliagre
I see nothing Smilie

Good point I forgot the code:

c code:
  1. if (mkdir(arg, mode) < 0)
  2.                 {
  3.                         if (!pflag || !(errno == ENOENT || errno == EEXIST || errno == ENOTDIR))
  4.                         {
  5.                                 error(ERROR_system(0), "%s:", arg);
  6.                                 continue;
  7.                         }
  8.                         if (errno == EEXIST)
  9.                                 continue;
  10.  
  11.                         /*
  12.                          * -p option, preserve intermediates
  13.                          * first eliminate trailing /'s
  14.                          */
  15.  
  16.                         n = strlen(arg);
  17.                         while (n > 0 && arg&#91;--n] == '/');
  18.                         arg&#91;n + 1] = 0;
  19.                         for (name = arg, n = *arg; n;)
  20.                         {
  21.                                 /* skip over slashes */
  22.                                 while (*arg == '/')
  23.                                         arg++;
  24.                                 /* skip to next component */
  25.                                 while ((n = *arg) && n != '/')
  26.                                         arg++;
  27.                                 *arg = 0;
  28.                                 if (mkdir(name, n ? dmode : mode) < 0 && errno != EEXIST && access(name, F_OK) < 0)
  29.                                 {
  30.                                         *arg = n;
  31.                                         error(ERROR_system(0), "%s:", name);
  32.                                         break;
  33.                                 }
  34.                                 if (!(*arg = n) && (mode & (S_ISVTX|S_ISUID|S_ISGID)))
  35.                                 {
  36.                                         if (stat(name, &st))
  37.                                         {
  38.                                                 error(ERROR_system(0), "%s: cannot stat", name);
  39.                                                 break;
  40.                                         }
  41.                                         if ((st.st_mode & (S_ISVTX|S_ISUID|S_ISGID)) != (mode & (S_ISVTX|S_ISUID|S_ISGID)) && chmod(name, mode))
  42.                                         {
  43.                                                 error(ERROR_system(0), "%s: cannot change mode from %s to %s", name, fmtperm(st.st_mode & (S_ISVTX|S_ISUID|S_ISGID)), fmtperm(mode));
  44.                                                 break;
  45.                                         }
  46.                                 }
  47.                         }
  48.                 }
 

6 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

3. Solaris

Descrepencies in o/p of "df -h" and "df -h /home"

Hello, In my system, there are descrepencies in the output of "df -h" and "df -h /home" when i give df -h , it does not show any entry for /home, wheras for df -h /home it gives the below o/p Filesystem size used avail capacity Mounted on auto_home ... (1 Reply)
Discussion started by: Laxxi
1 Replies

4. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

5. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

6. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
All times are GMT -4. The time now is 04:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy