■■■■■■□■■■■■■□■■■■■■□□□□□■■□■■■■■■
■■□□■■□■■□□■■□■■□□□□□■■■■■■□■■□□□□
■■□□■■□■■□□■■□■■□□□□□■■□□■■□■■■■■■
■■□□■■□■■□□■■□■■□□□□□■■□□■■□□□□□■■
■■□□■■□■■■■■■□■■■■■■□■■■■■■□■■■■■■

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

NYAOS -- Dirty Hack

すげーnyaosWhere is ckw ?の相関図がもう書き換わっている!

そして、nyaosのソースも弄ってみた。
promptでtcshの%cの様に
nyaosの$wで表示するディレクトリの深さを指定できるようにするパッチ。
ちなみにソース中の配列のサイズを変数で指定するのはGCCの独自拡張なので注意。

※うちの_にゃ
option prompt $e[30;40;1m$w3$g$e[0;1m

diff -ru orig/dosshell.cpp mod/dosshell.cpp
--- orig/dosshell.cpp   2010-11-11 13:16:18 +0900
+++ mod/dosshell.cpp    2010-11-13 15:29:51 +0900
@@ -129,12 +129,30 @@
                 case 'W':{
                     NnString pwd;
                     NnDir::getcwd(pwd);
-                    int rootpos=pwd.findLastOf("/\\");
-                    if( rootpos == -1 || rootpos == 2 ){
+
+                    int depth = 1;
+                    if ((*(sp+1) != '\0') &&
+                        ((0 < (*(sp+1)-'0')) && ((*(sp+1)-'0') < 10)) // 0 < depth < 10
+                       ){
+                        depth = (*(sp+1) - '0');
+                        sp++;
+                    }
+                    // ! GCC Extension ! //
+                    int posbuf[depth];
+                    memset(posbuf, -1, sizeof(posbuf));
+
+                    int rootpos = 2;
+                    // findLastOf w/ buffering
+                    while ((rootpos = pwd.findOf("/\\", rootpos)) != -1){
+                        for (int i = 0; i < depth-1; i++) posbuf[i] = posbuf[i+1];
+                        posbuf[depth-1] = rootpos++;
+                    }
+
+                    if( posbuf[0] == -1 || posbuf[0] == 2 ){
                         result << pwd;
                     }else{
-                        result << (char)pwd.at(0) << (char)pwd.at(1);
-                        result << pwd.chars()+rootpos+1;
+                        result << (char)pwd.at(0) << (char)pwd.at(1) << "...";
+                        result << pwd.chars()+posbuf[0];
                     }
                     break;
                 }

テーマ:フリーソフト - ジャンル:コンピュータ

  1. 2010/11/13(土) 16:01:33|
  2. フリーソフト
  3. | トラックバック:0
  4. | コメント:2
<<Cool Wise Man 2010 ワンマン | ホーム | トリップ>>

コメント

取り込ませていただきました

一部、手を入れさせていただきましたが(GCC依存性の排除、$Wの後に数字が無い場合に「...」を表示しないようにする)、基本、取り込ませていただきました。
ありがとうございます。
  1. 2010/11/13(土) 20:19:37 |
  2. URL |
  3. はやま #mQop/nM.
  4. [ 編集]

Re:取り込ませていただきました

> はやま さん
はじめまして、いつもお世話になっております。
早速ご本人からコメントを頂き、
またパッチを取り込んでいただけたとの事
ありがとうございます!

これからも使わせていただきますので
よろしくお願いします。
  1. 2010/11/14(日) 01:11:50 |
  2. URL |
  3. nocd5 #mQop/nM.
  4. [ 編集]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://nocd5.blog59.fc2.com/tb.php/450-21e292eb
この記事にトラックバックする(FC2ブログユーザー)
home

プロフィール

Author:nocd5
30歳(男)
会社員

Last.fm



最近の記事

カテゴリー

カレンダー

09 | 2017/10 | 11
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

最近のコメント

最近のトラックバック

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

Amazonアソシエイト

RSSフィード

リンク

このブログをリンクに追加する

FC2ブログランキング

FC2Blog Ranking

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。